network - introc

네트워크 스터디를 시작한 김에 이번학기에 배운 네트워크 내용을 정리해보기로 하였다. 중요한 것 위주로 깊숙히 정리할 예정인데, 의지가 얼마나 갈지는 잘 모른다..

1학기에 김승욱 교수님께 배운 네트워크 내용은 크게 이러하다.
1. intro
2. application layer
3. transport layer
4. network layer - data plane
5. network layer - control plane
6. link layer
(physical layer생략)
7. wireless and mobile network
8. IOT (새로 추가 예정)
(멀티미디어 생략)

총 8개의 단원을 스터디할 예정이다. 오늘은 introduction이다!
----------------------------------------------------------------------------------------------

introduction에서는 용어정리를 하고, 확실히 암기를 한후 넘어가자!

internet : networks of network

protocol : control sending and receiving of message / communication mechanism
<프로토콜은 사람끼리 대화를 하기에 앞서 안녕? 그래 안녕. 정보교류대화, 바이~ 그래 바이~ 뭐 이런식의 대화 방식을 규약으로 나타낸 것을 말한다 보면 됨~ 굉장히 쉬운 뜻이지만, 모르면 굉장히 헷갈리고 범용적으로 쓰이는 용어야.>
ex) TCP/IP, HTTP, Skype, 802.11

host : end system <client, server>

network 는 network core + network edge 이다.

network core :  우리 눈에 보이지 않으며 interconnected 라우터들!
network edge :  host들!



router : connect network! network layer을 위한 녀석이다.
switch : create network! computer, device들을 서로 connect!

!!delay !!
통신할때의 delay는 아주 중요한 개념이자 이슈!
총 4개의 delay가 있다.

throughput : transmission rate between sender and receiver -> 전체 구간에서 link 의 bandwidth가 낮은 bottle neck구간 찾는 것이 이슈이다!


1. dqueue(queueing delay)
2. dtrans(transmission delay)
3. dproc(propagation delay)
4. dproc(processing delay)


여기서 bottle neck 은 사실당 dqueue, dtrans이다. 이놈들이 전체 delay 의 99%를 차지한다. 특히 dqueue가 최고의 delay를 자랑한다.


1. dtrans(transmission delay)

transmission delay에서 핵심이 되는 것은 link의 bandwidth인  link transmission rate(R) 이다. link에는 1초당 지나갈 수 있는 bit 수(bps)가 고정되어 있어, 이를 넘는 전송이 이루어질 수 없다. 따라서 packet이 link를 지나가려 할때 packet transmission delay는 다음과 같다.

즉 L bit의 크기를 가진 packet이 R의 bandwidth를 가진 link를 통과하기 위해서는 L/R 초가 걸리는 것이다!!

네트워크의 핵심은 한정된 자원내에서 얼마나 효율적으로, 빠르게 많은 통신을 보내느냐이다!
지금 배운 R(link transmission rate)이라는 제한 내에서, 수많은 통신이 앞다투어 전송되고자 하므로, 이를 효율적으로 보내기 위한 많은 연구가 이루어졌다. 두가지를 소개한다.

circuit switching(FDM, TDM)

circuit switching은 하나의 channel을 할당받아 독점적으로 통신을 하는 방식을 말한다. 여기서 frequency를 할당받으면 FDM, 시간별로 할당받으면 TDM이다.
여기서는 n명의 user가 있으면 R의 bandwidth을 각 R/n씩 할당받는다. 그러니 아무래도 굉장히 안정적인 통신이 가능하겠다. But!! 각 사용자가 네트워크사용률이 채 15%밖에 안된다는 점을 가정하면, 이는 너무나 낭비가 심하다는 단점이 있다.

packet switching
packet switching은 사용자가 상당히 많아져도 네트워크 사용률이 낮기 때문에 동시간대에 몰리는 사용자의 수는 현저히 떨어진다는 점을 이용하였다. packet switching 은 라우터내에 queue(buffer)을 생성해서, 패킷이 도달하면 출발하는 store and forward방식으로 전송이 이루어지는데, 사용자가 channel을 독점하지 않기 때문에 훨씬 많은 사용자가 bandwidth전체를 알차게 사용할 수 있으므로 매우 효율적이다. 다만 congestion이 몰릴 경우 속도 저하가 현저히 일어나고, queueing이 발생하여 buffer을 초과하면 data loss가 일어난다.   ex) 거의 모든 인터넷



둘이 성능을 비교해보면 아래와 같다. <출처 : http://swalloow.tistory.com/55>


표를 보면, circuit switching은 packet switching에 비해 bandwidth wastage가 심한반면, delay가 잘 안일어나고 reliable 하다는 것을 알 수 있다.


2. dqueue(queueing delay)

인터넷 네트워크는 TDM방식을 따르고 있기 때문에 router에서는 사용자가 몰릴 경우를 대비해서 먼저 온 packet의 transmission이 일어나는 동안 기다릴 buffer가 존재한다.

여기서 일어나는 delay가 가장 큰 bottle neck이며, 또 data loss또한 여기서 일어난다. 다시말해 네트워크에서 통신상에 일어나는 문제점은 이녀석이 주범이라는 것! 따라서 queueing theory가 data 통신에 있어 큰 연구분야이며 이슈이다.

여기서 congestion이 일어날 경우 뒤에 온 packet은 앞에 온 녀석들때문에 억울하게 기다려야 할 뿐 아니라(delay), buffer에 패킷이 가득 차버리면 기다릴 자리도 없어서 버려지게 된다.(data loss)

** store and forward방식 : packet switching은 store and forward방식으로 전달되므로, 패킷이 큐잉되었을때, 내 앞에 있는 패킷이 아직 몇 비트가 라우터에 도달하지 않은 경우, 내 앞에 녀석은 bandwidth에 있어도 출발하지 못하는 문제가 생긴다. 즉, 앞에 놈의 개인적인 문제로 내 패킷이 출발하지 못하는 delay 발생.. 이렇기 때문에 아마 앞에 있는 L bits의 데이터들을 L/R시간동안 기다려도 내가 출발하지 못하는 상황이 발생할 듯 하다.

3. dprop(propagation delay)

이녀석은 dtrans와 헷갈릴 수 있으므로 굉장히 주의해야한다. dtrans의 경우 link의 bandwidth가 이슈인 반면에, dprop은 link의 길이가 이슈이다. 즉 단 1비트를 보낸다고 해도 서울에서 부산을 보내는 것보다 서울에서 미국에 보내는 게 오래 걸릴 지인데, 이때의 delay가 dprop이다.

dprop = d/s (d : length of link, s : propagaition speed)

그런데 말했듯이 dprop은 네트워크의 delay에 큰 영향을 미치지 않는다. 즉, 한국에서 미국으로 보내나, 서울에서 부산으로 보내나, 거리자체만으로는 속도차이가 거의 발생하지 않는다는 것이다. 하지만, 한국에서 미국으로 보내게 되면 도중에 거치는 router이 많아지므로 transmission delay이 올라갈 것이며, 도중에 congestion이 발생하는 경우도 많아져 queueing delay도 커질 것이다. 이 요인으로 인해 미국으로 보내는 전송속도가 더 느려지게 되겠지 ㅎㅎ

dproc (processing delay) : processing하는데 걸리는 delay로 bit error check나 output link결정하는게 걸리는 delay이다. bottle neck에 영향을 안미치므로 delay를 무시해도 된다.


중요!! protocol layer!!

용어먼저 정리하고 간다.

modularization : 한 layer을 수정해도 transparent가 유지되어야 한다!
transparent : 다른 layer를 고려하지 않고 independent하게 update가 가능한 것을 말한다.

application layer : application을 support / message / FTP, SMTP, HTTP
transport layer : process-process data transfer / segment / TCP, UDP / socket, port를 찾아서 process를 찾아간다!
network layer : routing between sender, receiver / packet(datagram) / IP, routing protocol / ip를 찾아서 , router가 관할
link layer : 이웃하는 network elements간의 data transfer / frame / Ethernet, 802.11(wifi), PPP / mac address를 찾아서 감, switch가 관할
physical : on the wire


끝 헤헿




댓글

  1. ISP : Internet Service Provider(router제공)
    CPN : Content Provider Network(google)

    답글삭제

댓글 쓰기

가장 많이 본 글