Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 웹해킹
- 알고리즘
- CodeEngn
- hacking
- ftz
- dreamhack
- 해킹
- 모의해킹
- 비박스
- 순서도
- bee-box
- 소프트웨어
- 시스템
- System
- Web
- network
- WarGame
- 리버싱
- 네트워크보안
- 네트워크
- 시스템해킹
- Webhaking
- 워게임
- TCP
- reversing
- 소프트웨어보안
- XSS
- webhacking
- 웹
- 드림핵
Archives
- Today
- Total
Without a Break
Link Layer 본문
Introduction
링크 계층의 목적
- IP module을 위한 IP datagram의 send/receive
- ARP module을 위한 ARP request와 reply
- RAP module을 위한 RARP request와 reply
+) 참고
- ARP(Address Resolution Protocol) : MAC 주소를 IP 주소로 치환하여 가져오는 프로토콜
- RARP(Reverse Address Resolution Protocol) : IP주소를 MAC 주소로 치환하여 가져오는 프로토콜
TCP/IP는 서로 다른 Link Layer를 지원
- TCP/IP 아키텍처는 어떤 종류의 물리적 네트워크 상에서도 수행할 수 있도록 설계됨
- Ethernet, token ring, FDDI, RS-232 serial line 등등
Etherenet and IEEE 802 캡슐화
Ethernet
- 일반적으로 DEC, Intel, Xerox사가 1982년에 제안한 표준
- CSMA/CD라고 하는 access method 사용
- 전송속도 10Mbps, 48-bit address
+) CSMA/CD : 이더넷의 전송 프로토콜에서 사용하는 방식으로 회선을 따라 누구나 동시에 접속하면서 충돌을 검사하여 제어한다
IP datagram encapsulation define
- Ethernet에 대한 RFC 894
- IEEE 802 network에 대한 RFC 1042
Host Requirement RFC
- RFC 894(Ethernet) encapsulation을 사용하는 패킷을 송수신할 수 있어야 함
- RFC 894 패킷과 혼합된 RFC 1042(IEEE 802) 패킷을 수신할 수 있어야 함
- RFC 1042 encapsulation을 사용한 패킷을 송신할 수 있어야 함. 호스트가 두 타입의 패킷을 송신할 수 있다면 송신한 패킷의 타입을 구성할 수 있어야 하고 구성 옵션은 RFC 894를 따라야 함. => 이더넷과 802 네트워클르 모두 사용할 수 있으면 이더넷을 사용해라
- RFC 894 encapsulation이 가장 일반적으로 사용
SLIP : Serial Line IP
RS-232 serial port를 통해 인터넷에 접속할 때 사용
framing rule
- IP datagram의 앞 뒤에 special character END(0xc0)를 추가 => 어떤 line noise가 데이터로 해석되는 것을 막기 위함
- IP datagram 내에 0xc0은 0xdb, 0xdc로 변환하여 전송 (0xdb는 SLIP ESC character라 함)
- IP datagram 내에 0xdb는 0xdb, 0xdd로 변환하여 전송
SLIP 단점
- 주소가 없음 => 사전에 정의된 구간만 전달 가능
- Ethernet의 type field와 유사한 type filed가 없음 => 동시에 다른 protocol을 사용할 수 없음
- 아무런 checksum을 하지 않음 => 에러 체크 불가능
PPP : Point-to-Point Protocol
- SLIP의 단점을 수정
- 주소, protocol, CRC(에러 체크) 추가
- RFC 1331 : 캡슐화 메소드와 링크 제어 프로토콜
- RFC 1332 : IP를 위한 네트워크 제어 프로토콜
Loopback Interface
- 같은 호스트내의 client와 server가 TCP/IP를 이용하여 통신하기 위해 대부분 loopback interface를 제공
- 이름은 localhost, IP 주소는 127.0.0.1
- local interface로 보내면 바로 ip로 카피, broadcast로 보매녀 바로 ip로 카피해서 외부로 전송
- 비효율적으로 보일수도 있지만 네트워크 계층에게 loopbck interface가 단지 다른 링크 계층으로 보임 => 설계를 단순화
- 자신의 IP 주소 중 하나로 송신한 IP 데이터그램은 네트워크 상에 절대로 나타날 수가 없음
MTU
- frame의 크기를 제한한느 링크 계층의 특성
- IP 데이터그램이 링크 계층의 MTU보다 크면 fragmentation이 일어나며 각 fragment는 MTU보다 작아야 함
- Point-to-Point에 대한 MTU는 network media의 물리적 특성에 따른 것이 아니라 대화형 응용의 적당한 response를 제공하기 위한 논리적인 제한
- 이더넷의 MTU는 1500바이트
Path MTU
- 두 호스트가 같은 network 상에서 통신할 때는 MTU가 중요한 factor
- 두 호스트 사이에 multiple network가 개입되어 있는 경우, 두 호스트가 접속한 네트워크의 MTU보다는 중계 네트워크의 가장 작은 MTU가 더 중요한데, 이를 path MTU라 한다.
- 일정하지 않음 => 어떤 시점에 사용된 경로에 의존하기 때문
- 경로가 다를 수 있기 때문에 routing은 대칭이 아님 => path MTU는 두 방향이 서로 다를 수 있음
- RFC 1191 : path MTU를 결정하기 위한 방법
'Network > 네트워크보안과프로그래밍' 카테고리의 다른 글
TCP: Transmission Control Protocol (0) | 2022.09.30 |
---|---|
UDP: User Datagram Protocol (0) | 2022.09.30 |
Address Resolution Protocol, ARP (0) | 2022.09.27 |
Internet Protocol (0) | 2022.09.24 |
Introduction (0) | 2022.09.24 |