KOCW | 컴퓨터네트워크 | 한양대학교 | 2015-2 | 이석복
KOCW | 컴퓨터네트워크 | 한양대학교 | 2018-2 | 이석복
위 강의를 수강하며 정리한 내용임을 밝힙니다.
네트워크 계층을 Top-Down 방식으로 위에서부터 한 겹씩 까보면서 디테일하게 알아보는 강의
- Host와 Gateway 간에 전용선이 있는 것이 아니라,
공용선 혹은 broad cast medium이라는 것을 통해서 연결되어있음
즉, 하나의 Gateway에 수많은 Host가 연결되어있음
- medium에서는 한 공간 안에 있으면 어디에 말하든 다 들리는 것처럼
하나의 packet은 모두가 전달 받으며,
packet이 하나 전달될 때, 다른 packet이 함께 전달되면 쓰레기가 된다.
따라서, collision(충돌)을 제어해야함!
5.2 error detection, correction
5.3 Multiple Access protocols
이상적인 multiple access protocol
- 한 사람만 쓰려고 할 때, bandwidth를 모두 사용함
- 전부 다 동시에 사용하려고 하면 1/n씩 공평하게 사용함
- 분산적으로 컴퓨팅이 되어야함
- 동작이 단순해야함
MAC protocols 분류
- Medium Access Control(MAC)
channel partitioning
- TDMA: time division multiple access, 시간 분할 배정
- FDMA: frequency division multiple access, 주파수 분할 배정
random access
- 현실에서 많이 쓰임
- 랜덤하게 필요한 연결이 있으면 연결함.
=> 충돌이 일어날 수밖에 없고, 어떻게 해결할 것인지 명시해둬야함
=> 그 해결 방식 중에 하나가 CSMA
- CSMA(carrier sense multiple access)
: listen before transmit: 전송 전 다른 frame이 전송중인지 확인 후 전송
=> 먼저 전송을 시작했지만, 다른 Host에 도달하기 전까지는 listen을 해도 알 수가 없음
=> 기다리던 두 Host가 동시에 시작하면 충돌이 일어남.
=> 충돌을 완전히 막을 수 없기 때문에 그 충돌로 인한 피해를 최소화 하기 위해 나온 것이 CSMA/CD
- CSMA/CD(collision detection)
=> 충돌이 감지되면 모든 host가 frame 전송을 멈춤
=> 대기 random time을 두배씩 늘려가면서 재전송
=> Host가 많을수록 대기 시간이 늘어날 수밖에 없음.
taking turns
polling(여론 조사)
- master node를 통해 관리함.
- master node에서 오류가 났을 경우 전체가 피해를 보는 문제 => 현실에서 쓰이지 않음
token passing
- token을 돌리면서 돌아가면서 token을 가진 Host만 전송함.
- token을 분실하는 경우 전체가 피해를 보는 문제 => 현실에서 쓰이지 않음
5.4 LANs
addressing, ARP
(생략?)
Ethernet
- = 유선 상황
- CSMA/CD 사용 (carrier sense multiple access / collision detection)
- 충돌이 일어나지 않으면 전송이 성공했다고 봐도 무방
- 그러나 충돌이 일어나면 재전송을 해야하는데, feedback이 따로 없음
- 따라서 collision detection이 100% 되야하는 상황.
- A에서 보내고 있고, G에서는 A에서 시작된 것이 오고 있는 줄 모르고 시작했다가 충돌이 나고 G는 전송을 멈춤
- 그러나 이미 출발한 frame의 조각이 있을 것이고, 퍼져나가고 있는데, A에 도착하기 직전에 A에서 나오던 frame이 모두 전송됨.
- G에서는 detection이 되었지만, A에서는 detection이 되지 않았기 때문에 방금 전에 보낸 frame은 재전송이 일어나지 않음
- 해결 방법: frame size의 최소값을 설정(LAN의 길이)
MAC : Medium Access Control(MAC)
앞 24bit: 제조사 번호
뒤 24bit: 제조사의 고유번호
사람을 추상화해봤을 때,
- 이름: Host name
- 주소: IP address
- 주민번호: MAC address
머신의 MAC address는 언제 어디서도 바뀌지 않음
ARP
- address resolution protocol
- GWR(Gateway Router)의 IP는 아는데, 아직 모르는 MAC address를 알아오기 위한 프로토콜
- ARP query를 broadcasting하고 GWR은 이에 응답함
Addressing: routing to another LAN
- forwarding table lookup(출력 포트 확인) => ARP table lookup(MAC address 확인)
- frame의 header(MAC src, MAC dest)를 계속해서 새로운 주소로 떼었다 붙였다 하면서 이동
- packet에서 변하는 것은 TTL(Time To live, 데이터 유효 기간) 뿐
switches
switch:self-learning
- A에서 A'로 보내고 싶다고 switch에 보내면, switch에서는 A가 1번에 있구나를 알게 됨.
- switch table에 A-1를 기록
- A'를 swtich table에서 찾아보는데 없으므로, 1번 빼고 flood.
- A'에서 A로 보내고 싶다고 switch에 보내면, switch에서는 A'가 4번에 있구나를 알게 됨.
- switch table에 A'-4를 기록
- A를 swtich table에서 찾아보니 있으므로, 1번으로 전달
Interconnecting switches
Switches vs Routers
router
네트워크 계층,
라우팅 알고리즘을 통해 포워딩 테이블을 관리함
IP Address
switch
링크 계층,
self-learning, flood를 통해 스위치 테이블을 관리함
특이하게도 본인은 MAC address는 없음. 즉, host에게는 안보임. 도우미 역할만 수행할 뿐.
VLANS
5.5 link virualization: MPLS
(생략)
5.6 data center networking
5.7 a day in the life of a web request
📚 참고
KOCW | 컴퓨터네트워크 | 한양대학교 | 2015-2 | 이석복
KOCW | 컴퓨터네트워크 | 한양대학교 | 2018-2 | 이석복
Photo by Nastya Dulhiier on Unsplash