The link layer and Lan

랄라콥스·2024년 12월 11일

comnet

목록 보기
5/5

link layer -> 물리적으로 인접한 node사이의 datagram 넘겨주는 것에 대한 책임을 가지고 있음.
layer-2 packet: frame

  • application layer: message
  • layer-4 transport layer: segment
  • network layer: datagram

Service
1. framing & link access

  • datagram을 frame 안에 넣기 -> header, trailer 추가
  • 모든 node가 소통할 수 있음
  • MAC address로 source, destination 구분
  1. reliable delivery
  2. flow control
    : 송수신 node 간의 속도 조율
  3. error detection
  • checksum 같은거 재전송 해줘 or 버려
  1. error correction
  • receiver가 알아서 고침
  1. half-duplex, full-duplex
  • half duplex는 physically same time에 동시 전송 안됨

Protocol
type
1. point-to-point
이더넷 스위치
2. broadcast
wireless: wifi, 4g/5g, satellite
AIR
=> 이러한 상황 땜에 간섭(collision) 발생
-> multiple access protocol: 어떻게 node들이 채널을 공유할지 알고리즘(언제 전송 할 수 있어유???)

어디에 있는가?

  • NIC나 chip에 있음

interfaces communicating
1. sending side

  • encapsulate: datagram을 frame에 담음
  • error checking bits, reliable data(sequence num, ack num) transfer, flow control등을 담음
  1. receiving side
  • error없나, 잘 왔나 체킹
  • demux: upper layer로 보내기

MAC address

그전에 ip address라고 있는데요 32bit => 얘는 network layer의 identifier입니담 => link layer에서 사용못함

node간의 소통은 link layer를 통해서 이뤄짐 -> link layer가 서로를 구분할 identifier가 필요해짐

48-bit의 MAC address를 만들었다!

  • unique함: 나만의 번호~
  • locally 32-bit IP address가지고 있음 => 알다시피 same subnet끼리는 동일한 bit가 있는 부분이 있음

MAC address vs IP address
맥 주소는 안 바뀜
IP주소는 바뀔 수 있음 왜냐면 DHCP때문에(ch4)

그렇다면 어떻게 해야 MAC 주소를 알아낼 수 있을까??
=> ARP: address resolution protocol
ip주소로 MAC 주소를 알아내자!





A 가 B's ip address를 아는 이유: DNS
A가 R의 first hop router's ip address를 아는 이유: DHCP
A가 R's MAC address를 아는 이유: ARP






Ethernet
LAN 기술이 사용된 최초!
단순

  1. bus
    간섭 발생함
  2. switched
    가운데에 스위치 두고 이더넷 프로토콜로 소통

이더넷 프레임
1. preamble
ethernet frame 구분하기 위해서는 필요
10101010*7byte + 10101011:1byte = 8byte로 이뤄짐
상대와 비트 동기화 해야함
2. addresses

  • source 6bytes
  • destination 6bytes
    => MAC address
    나한테 관련있음 받기 아니면 버리기
  1. type
    : higher layer protocol
  2. CRC
    : 에러 있나~?

성격
1. unreliable: ACK, NACK 이런거 없어
그럼 어캄 -> TCP같은거 쓰던지..아니면 쩔 수 없음
2. connectionless: handshaking 필요 없음 NIC 사이에


Ethernet Switch

  • 이더넷 프레임 store, forward 해줌

  • 어디로 보내줘야할지 알고 있어서 보내줌

  • host들은 스위치의 존재를 모름 -> 몰라도 됨!! 마치..필요한 정보만 넘겨주듯 호스트들은 서로 소통하고 있다는 것만 알면 되지 스위치를 통해가지고 어쩌고..이럴 필요 없다는 것

  • 어떻게 어디로 보내주는지 알지? = self learning

  • 호스트들은 스위치가 직접적으로 나만의 연결 통로를 가짐!

  • 각 입력 링크에 이더넷 프로토콜 사용 -> 충동 없음 주고 받기 한번에 가능
    * 근데 이제 한 번에 다른 host에서 같은 host로 전송은 안됨

profile
일단 책을 피자

0개의 댓글