이번 주제는
Data Link layer
...
더보기
MAC Address
= LAN 카드 주소
- Media Access Control
- 네트워크 카드 NIC (Network Interface Card)에 부여되는 고유 번호
- 길이는 48 bits (6 byte)
- 상위 24비트는 제조사 구별 코드, 하위 24비트는 제조사가 제품에 부여한 일련 번호
- IEEE에서 MAC 주소를 unique 하게 관리!!
- 전 세계적으로, 동일한 MAC 주소를 가진 LAN 카드는 존재하지 않아야 함.
- 다들 cmd에서 "ipconfig/all"로 MAC 주소 체크해 보세여
- frame(이더넷에 올라오는 데이터)에는 frame을 전송한 발신 호스트 NIC의 MAC주소와 수신 호스트 NIC의 MAC 주소가 저장됨.
- 네트워크 카드가 프레임의 전기신호를 보내서 데이터 형태로 만듦..
- 즉, 프레임을 보내는 녀석이 네트워크 카드!!
- 프레임(frame) = 헤더 + 데이터
- 프레임의 데이터 = 데이터그램(datagram) = 헤더 + 데이터
- 데이터그램의 데이터 = 패킷(packet) = 헤더 + 데이터
- 각 호스트는 수신되는 프레임을 읽어 들여 destination MAC 주소 체크
- 자신의 MAC 주소와 일치하는지 체크, 일치 시 해당 프레임 처리
- 네트워크 계층(상위 계층)으로 데이터(frame의 데이터 = 데이터그램) 전달
- 에러 체크도 함께 수행
- 자신의 MAC 주소와 일치하는지 체크, 일치 시 해당 프레임 처리
- 데이터링크 계층은 LAN 안에서 돌아감.
- 라우터와 라우터가 연결되어 인터넷을 만듦.
- 네트워크 카드끼리 데이터를 주고 받음.
더보기
Ethernet 이더넷
- 유선 LAN에서 가장 널리 사용되는 기술
- 당시 사용되고 있었던 링 방식(node가 죽어버리면 다 망가지는...)에 비해 설치 및 유지 비용이 저렴
- 버스 형태, 전송 속도: 10Mbps - 10Gbps(1초당 10억 비트 전송)(bps = bits/sec)
더보기
이더넷 프레임 구조 **
Preamble
|
Start of frame delimiter
|
MAC destination
|
MAC source
|
optional
|
Ethertype or length
|
Payload
|
CRC
|
Interframe gap
|
7B of 10101010
|
1B of 10101011
|
6B
|
6B
|
4B
|
2B
|
46-1500B
|
4B
|
12B
|
동기화!!
(시간 맞추기) |
시험(?) 삼아 보내는...
11이 되면 읽기 시작! |
목적지
맥 주소 |
수신지
맥 주소 |
|
데이터의 길이
|
데이터
(=데이터그램) |
-에러검출용
- 기존/새로운 쳌섬이 같은지 확인.. |
다음 프레임까지 시간차를 둔 후에 프레임을 띄움
|
헤더 header
데이터 data (= 데이터그램)
테일 Tail

- NIC을 가지고 이더넷 LAN에 연결되어 있는 PC S --> PC R
- S가 LAN 상에 모든 NIC한테 프레임 전송(버스 상에 전자기 신호가 브로드 캐스팅), 목적지 MAC 주소 덕분에 맞는 곳으로 찾아갈 수 있음. / 해당 프레임의 헤더에 R의 MAC 주소, S의 MAC주소가 차례로 기록
- R의 NIC는 LAN에 올라오는 프레임을 계속 체크. 프레임 헤더의 목적지 MAC 주소가 자신의 MAC 주소와 같기 때문에 에러체크 후 상위 계층으로 올림!
- payload에 있는 데이터만 상위 계층으로 올려줌
- 응답이 필요하면 R도 프레임을 만들어 S로 전송!
- 다른 PC들은 프레임 무시
- R의 NIC는 LAN에 올라오는 프레임을 계속 체크. 프레임 헤더의 목적지 MAC 주소가 자신의 MAC 주소와 같기 때문에 에러체크 후 상위 계층으로 올림!
더보기
MAC 주소와 IP 주소
MAC 주소를 이용하여 LAN 안에서 데이터를 보냄.
그런데 이때 S는 R의 MAC 주소를 어떻게 아는가
ex)...
LAN 안에 웹 서버가 하나 있고, 이 웹 서버의 도메인 주소를 unknown.school.ac.kr.
브라우저 주소 창에 도메인 주소를 입력하면, 웹 브라우저는 DNS를 통해 웹 서버의 IP 주소를 알아낼 수 있음!!
하지만 여기서...
어떻게 웹 서버의 MAC 주소를 알아내지?
ARP(Address Resolution Protocol) 이용하기..!!
- ARP 프로토콜
- 데이터 링크 계층 프토로콜.
- 인터넷은 IP 주소에 기반하는 반면에, 데이터링크 계층은 MAC 주소에 기반!!
- IP --> MAC 주소의 주소 맵핑이 필요한데, 이를 위한 프로토콜이 바로 ARP..
- 프레임을 생성할 때마다 ARP를 수행하면 비효율적이므로, 각 호스트는 알아낸 MAC 주소를 캐시하여 사용..
- IP:MAC ADDRESS
- 캐시된 주소가 재사용되지 않으면? 20분 후 무효화!!!!
# X의 MAC 주소를 질의하도록 설계된 프레임을 전송, 즉 브로드캐스트 프레임(D라고 가정)을 LAN상에 보낸다.
-
- 이때, 목적지 주소 값이 FF.FF.FF.FF.FF.FF이면 브로드캐스트 프레임!!
- 브로드캐스트 프레임의 경우에는 모든 호스트들이 해당 프레임을 읽어 들여야 함. 즉, 프레임 D를 모든 호스트(네트워크 카드)가 읽어 들임.
- D를 읽어들인 호스트 중 서버 X도 있음. 이에 맞춰 X는 자신의 MAC 주소를 알려줌.
# 프레임 D를 읽어 들인 웹 서버
-
- 프레임에 들어있는 데이터 부분에 저장되어 있는 ARP 질의 데이터를 체크.
- 질의 내용에 자신의 IP가 있다면 자신의 MAC 주소를 질의한 것으로 보고 응답 프레임을 ARP 질의를 보낸 호스트로 보냄.


ARP 응답은 일반적으로 유니캐스트
ARP 요청은 일반적으로 브로드캐스트
더보기
허브 Hub
- (동일) LAN 구성을 위해 사용하는 통신장비, 이전에는 dummy hub가 주로 사용됨
- 여러 대의 컴퓨터를 LAN(이더넷)에 연결하기 위해 사용(버스 형, 성 형)
- 포트에 커넥터를 연결. 멀티 포트 지원.
- 더미 허브(dummy hub)에 여러 대의 컴퓨터가 연결 돼 있다면 충돌이 자주 발생..
- 그로 인해 congestion이 쉽게 발생할 가능성이 높음.
- 즉, 노드 수가 많을 수록 충돌 확률이 높음
- 이를 해결하기 위해선???
더보기
브릿지 Bridge
- 하나의 LAN 안에 여러 개의 호스트를 연결해야 할 경우 >> 브릿지를 통해 congestion 발생으로 인한 성능 저하 빈도를 줄일 수 있음
- 브릿지는 프레임의 MAC 주소를 참조하여...
- 러닝 Learning: 포트 별 MAC 주소의 자동 인식 및 저장
- 플로딩 Flooding: 들어온 포트를 제외한 다른 모든 포트로 프레임을 넘겨줌
- 포워딩 Forwarding: 지정된 destination port로 프레임을 relay 시킴
- 필터링 Filtering: 목적지 포트가 아니라면 프레임 통과를 막음(포워딩과 동시 수행!)
- congestion을 피할 수 있는 이유?
- 여러 개의 PC들이 허브에 직접 연결되어 있다면 데이터 충돌 확률은 PC 개수에 비례하며 증가
- 3개의 세그먼트로 분리 후 각 허브에 PC를 나누어 연결 한다면, PC간에 데이터 충돌 발생하여 확률 감소
- 서로 다른 세그먼트 간에는 프레임 전송 빈도가 낮을수록 성능에 긍정적 효과 발생.
- 필터링을 해주기 때문에..
- LAN 전체적인 측면에서 볼 때, 최대 데이터 전송률을 높이는 효과!!!
- 브릿지를 사용하지 않는다면, 허브의 전송 대역폭 R이 최대 데이터 전송 속도
- 세그먼트가 3개라면, 각 세그먼트 안에서 전송 대역폭 R의 속도로 데이터 전송 가능. 즉 3배의 데이터 전속 속도로 LAN 동작 가능
더보기
스위치 Switch
- 브릿지 기능을 가진 허브
- 더미 허브의 성능을 개선한 제품
- 브릿지가 현재는 스위치!
- MAC 주소 테이블을 유지함 (브릿지와 같은 기능)
- 더미 허브와는 달리 목적지 호스트로 프레임을 relay
- 두 개의 서로 다른 프레임 전송 가능
- 가격대 성능이 좋은 가성비
- (dummy)허브와 브릿지를 대체해가고 있음
# 브릿지와 차이점: 허브 대신 스위치를 놓고 PC와 연결!! (브릿지는 허브를 놓고 PC와 연결)
더보기
LAN을 넘어서....
- WAN: LAN들의 연결
- LAN은 기본적으로 브로드캐스트 데이터를 보낼 수 있는 곳.
- 인터넷과 같이 수 백/수 천 만개의 LAN으로 구성된 거대 네트워크에서 브로드캐스트 데이터를 보낼 수 있게 한다면 문제 발생
- 따라서 이런 브로드 캐스트는 막혀 있음.
- 다른 LAN과 ARP를 사용할 수 없음. ARP는 동일 LAN 안에서만 수행 가능
그러면...
동일 LAN에 없는 컴퓨터와 어떻게 통신을 하는가???????
이때!! 라우터 개입..
다음 글에 계속!!
'Study > data' 카테고리의 다른 글
신뢰성 있는 프로토콜(FSM, Finite State Machine) (0) | 2023.08.05 |
---|---|
네트워크 계층(Network layer) (0) | 2022.07.13 |