Without a Break

Link Layer 본문

Network/네트워크보안과프로그래밍

Link Layer

와븨 2022. 9. 24. 22:42

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