오래 못 할 짓 하지 않기
[ 네트워크 ] 24. Link layer : LAN (Ethernet) 본문
Ethernet
: 유선 LAN 통신에서 가장 많이 쓰이는 방식
📌 특징
- 간단 / 저렴하다.
- Various Capacity.
📌Physical topology
1. BUS 방식

[ 특징 ]
: 한 쌍의 Node가 정보를 주고받으면 다른 Node는 그 통로에 끼어들면 안 됨
Collision 발생 가능
2. Switch 방식
(이따 아래에서 커버함)

[ 특징 ]
: 여러 Node들 사이에 Switch가 정보 통신을 관리하여 충돌이 발생하지 않는다.
Ethernet frame 구조

- preamble : 7bytes를 가지고 이게 Frame 이라는 걸 알려준다.
> 10101010 *7 를 시작으로 하여 "여기서부터 하나의 frame이야" 하고 알려준다.
- addresses : 6bytes로 Src , Dst 의 MAC 주소를 나타낸다.
- type : 이 Frame을 가지고 상위 계층에서 어떤 Type의 동작을 할지 알려준다. ex) IP, ARP...
- CRC : 4 bytes 를 가지고 Error를 감지한다.
추가적인 Ethernet 특징

- Connectionless 방식이다.
= 주고 받는 NIC 사이에 Handshaking이 없다.
- Unrelaible 하다
= Receiving NIC가 잘 받았는지 확인하는 ACK나 NAK를 보내지 않는다.
> TCP 단계에서 이를 Cover 해준다.

해당 단계에서는 Unslotted CSMA/CD with Backoff 프로토콜을 사용한다.
Switch
: Link layer device 이고, Active한 역할을 가진다.
[역할 1]
: Frame을 받고 , (저장하고) , Forward 시킴
[역할 2]
Incoming MAC address를 맞추고,
선택적으로 하나 혹은 그 이상의 Outcoing Link로 보낸다.
Transparent :
Host는 Switches의 존재를 알지 못한다. 알 필요도 없고.
📌Plug and play , Self-learning

- Host는 곧바로 Switch와 연결된 Dedicated Link가 있다.
- Ethernet protocol 은 각각의 Incoming link에서 사용된다.
> [ Collision X ] + [ Full duplex ]
[ Switching ]
: Transmission를 한 곳에 동시에 할 수는 없다.
한 같은 목적지가 아니라면 Switch가 길을 만들어서 동시에 계속 통신할 수 있게 해준다.


Q. Router는 4로 가면 A'가 있고, 5로 가면 B'가 있는 걸 어케암?
A. Switch table이 있음
Entry :


Self - learning
: Switch는 해당 Interface로 가면 어느 Host에게 가는지에 대해 Self-Learning 한다.

1. Switch가, 자신에게 들어오는 Interface의 (A의) Mac Address를 저장한다.
2. 들어온 Segment의 Dest MAC 주소를 Switch table에서 찾는다.
3-1) 주소의 Entry가 발견있다면
if( 데이터가 온 쪽으로 다시 보내지는 거라면)
> Drop
else if( 데이터가 온 쪽에 다시 보내지는 게 아니라 다른 곳에 가는 거라면)
> 정해진 곳으로 다시 보낸다.
3-2) 발견이 안 되면
> 들어온 Interface 빼고 모든 interface로 다 보낸다. = Broadcast

Flood로 받고 그걸 response하면서 Entry가 업데이트 되는건가
> ㅇㅇ Flooding 받고, 본인한테 온 거면 "이거 내 거 맞아" 라고 응답하면서 Router로 가서 Update됨
예제)

처음에 A'로 보내려고 하는데 정보가 없다.
> Flood로 다 보냄 , 이 때는 A의 정보만 Table에 있다

A'가 FLood로 정보를 받고, 이에 대한 응답으로 A에게 어떠한 Action을 취한다.
> 그러면서 A'의 정보도 Update된다.
> A에 정보는 이미 있으니 Selectively send한다.
Interconnecting Switches

Q. A에서 G로 보내려고 할 때, S1은 어떻게 Destinated 인 G로 S4, S3를 통해 보낼까?
A. Self Learning.
S4가 S1한테서 받았을 땐, S4도 모르니까 Flood해서 S2,S3로 보낸다.
Switches VS Routers
[ 공통점 ]
: 1) 둘 다 Store and Forward
2) 둘 다 Forwarding Table이 있음
[ 차이점 ]
- Router : Network Layer devices
- Switches : Link Layer Device
2) Forwarding Table
- Router : Routing Algorithmes을 사용하여 IP 주소를 알아내고
- Switches : Self Learning을 사용하여 MAC 주소를 알아낸다.

Web Request의 전체적인 흐름
만약 google.com에 들어간다고 생각해보자.
1) DHCP (UDP)
우리는 DHCP 서버로부터
[ 우리의 IP address + DNS의 이름과 주소 + 첫 번째 Hop Router ] 를 알 수 있다.

2) ARP (UDP)
이제 주소를 알았지만, 근처 Router의 MAC Address의 정보가 필요하다.
ARP로 Broadcast하여 [ 근처 인접한 Router들의 MAC Address ] 를 알아낸다.

3) DNS (UDP)
이제 MAC 주소도 알았으니 목적지의 IP를 알아야겠다!
DNS 로 쿼리를 보내 [ google.com의 IP Address ] 를 알아낸다.

4) HTTP (TCP) 요청 및 응답
위에선 각각의 Step에서 구한 정보들로 IP를 알아냈고,
이를 통해 [ Handshake를 하여 Connection 을 구축 ]했다.
그리고 [ 필요한 정보들을 Request하고, Server에서는 그에 대한 Response ]를 한다.

Handshake

Request / Response
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
(출처)
한동대학교 고윤민교수님 - 컴퓨터 네트워크
'3학년 2학기 > 네트워크 (Network)' 카테고리의 다른 글
[ 네트워크 ] 23. Link layer : Multi Access Protocol , ARP (0) | 2024.12.02 |
---|---|
[ 네트워크 ] 22. Network layer : SDN (0) | 2024.11.28 |
[ 네트워크 ] 21. Network layer (Control Plane) : Autonomous System (0) | 2024.11.28 |
[ 네트워크 ] 20. Network layer (Control Plane) : Routing Protocol / Algorithm (0) | 2024.11.25 |
[ 네트워크 ] 19. Network layer : IPv6 / Routing Protocol (0) | 2024.11.21 |