CS/네트워크
-
[네트워크] 17. LAN(arp), MPLSCS/네트워크 2023. 6. 19. 23:49
Link layer의 대표적인 프로토콜인 ARP에 대해 알아보도록 하겠습니다. ARP 와 MAC addresses mac 주소는 48bit(6byte)로 이루어져 있습니다. 앞의 3byte는 Manufacturer ID이며, 뒤의 3byte는 Product ID 입니다. IP주소는 변할 때가 있는 반면에, MAC주소는 변경이 일어나지 않기 때문에 portablilty가 있습니다. ARP(Address Resolution Protocol)은 IP주소를 이용해 MAC주소를 알아내는 protocol입니다. 각 장비마다 ARP table이 있고, 여기에 IP주소와 MAC주소를 매핑해서 저장합니다. TTL(time to live)은 이 주소가 얼마나 유효할지에 대한 시간 정보로, 약 20분 정도입니다. ARP :..
-
[네트워크] 16. Link Layer ProtocolCS/네트워크 2023. 6. 19. 22:16
이제 L2 layer인 데이터 링크 계층에 대해 알아보도록 하겠습니다. Link layer의 PDU는 frame 입니다. application layer : message.. transport layer : segment network layer : datagram(packet) link layer : frame physical layer : bit.. link layer는 아래와 같은 service를 제공합니다. header, trailer 붙여서 datagram 캡슐화 MAC 주소를 기반으로 최종 목적지 찾아가기 reliable delivery : TCP에서 reliable 통신을 배웠습니다. link layer에서도 한번 더 reliable한 통신을 지원합니다. flow control error d..
-
[네트워크] 15. AS 라우팅, BGP, SDNCS/네트워크 2023. 6. 19. 13:58
현재까지는 이상적인 라우팅을 살펴보았습니다. 하지만 실제 네트워크는 flat하게 만들어지지 않습니다. 실제 네트워크는 Autonomous System(AS)로 되어 있습니다. Intra AS routing 현재까지 살펴본 flat하게 구성된 네트워크입니다. 같은 AS 안에선 같은 프로토콜을 사용합니다. 다른 AS와 이어지기 위해 gateway router(border router)를 사용합니다. AS 안에 프로토콜은 OSPF, RIP가 있습니다. AS 안에서는 link state 알고리즘(OSPF), distance vector 알고리즘(RIP)을 사용합니다. Inter AS routing AS간 라우팅은 BGP가 있습니다. AS간 알고리즘은 Path Vector 알고리즘(BGP)을 사용합니다. 여기서 ..
-
[네트워크] 14. Network LayerCS/네트워크 2023. 6. 7. 00:32
Network Layer 개요 네트워크 계층은 아래와 같은 특징을 가지고 있습니다. 네트워크의 pdu는 datagram입니다. segment를 한 단계 캡슐화 한 것입니다. 네트워크 계층 protocol은 host와 router에 존재합니다. routing : 어디로 보낼지 길을 정합니다. forwarding : 정한 길로 패킷을 보냅니다. routing algorithm : end to end 경로를 결정합니다. local forwarding table : local에서 어디로 forwarding 할 지 결정합니다. connection setup : network 계층은 데이터를 보내기 전 host간 virtual connection을 맺습니다. (tcp는 process간) Network service..
-
[네트워크] 13. TCP congestion controlCS/네트워크 2023. 4. 22. 11:44
TCP의 마지막입니다. congestion control에 대해 알아봅시다.(매우 중요) 1. Principles of congestion control congestion control이란, 쉽게 말해서 너무 많은 데이터를, 너무 빠르게 보내서 network가 감당하지 못하는 상황을 조절하는 것입니다. (flow control이랑은 다른 개념입니다) congestion이 발생하면, packet loss나 long delay가 발생할 수 있습니다. 그럼 언제 congestion이 발생하는지, 예시를 들어보겠습니다. Host A는 라우터를 통해 데이터를 보낸다고 가정해봅시다. 라우터의 output link capacity가 R일 때, 두 개의 Host가 있으므로, 각각 connection에 대한 thro..
-
[네트워크] 12. TCP flow controlCS/네트워크 2023. 4. 17. 23:19
1. TCP flow control flow control이란, application에서 데이터를 가져가는 속도가, sender가 주는 데이터의 속도보다 느릴 때, 데이터를 천천히 받도록 조절하는 것입니다. sender는 receiver의 버퍼가 가득 찼는지 모르기 때문에, 이를 flow control을 통해서 조절합니다. 다음과 같이 sender과 receiver의 버퍼가 있다고 가정하겠습니다. 여기서 rwnd가 receiver의 남은 버퍼 공간입니다. 이 값을 계속 알려줌으로써 sender가 데이터를 전송하는 속도를 조절하게 합니다. rwnd = RcvBuffer - (LastByteRcvd - LastByteRead) sender는 recevier가 보내준 rwnd값을 보고, in-flight 상태..
-
[네트워크] 11. TCPCS/네트워크 2023. 4. 11. 23:19
1. TCP 이제부터 reliable data transfer protocol 중 하나인 TCP에 대해 알아보도록 하겠습니다. 1.1 TCP reliable data transfer TCP는 다음과 같은 특징을 가집니다. pipelined segment : 여러 개의 segment를 한번에 전송하고, ACK를 한번에 받습니다. culmulative ACK : 누적 ACK라는 의미로, 매 번 ACK를 보내는 것이 아니라 누적 ACK를 보냅니다. single retransmission timer : 가장 오래된 segment를 기준으로 timer를 한 개만 설정합니다. retransmission은 timeout또는 duplicate ACK 에 따라 발생합니다. 우선 duplicate ACK를 고려하지 않는 ..
-
[네트워크] 10. Pipelined protocol (Go-back-N, selective repeat)CS/네트워크 2023. 4. 10. 22:34
1. Pipelined protocol 지난 시간에 reliable transfer 에 대해 알아보았습니다. 이 방식은 unreliable한 네트워크 계층에서도 reliable할 수 있게 보장합니다. 기존에 살펴본 방법은 stop and wait 방식으로, 하나의 패킷을 보내고 정상적으로 ACK가 올 때 까지 기다렸습니다. 때문에 시간이 오래 걸리는 문제가 있었습니다. 하지만 만약 여러 패킷을 한번에 보내고 ACK도 한번에 받으면 어떻게 될까요? 컴퓨터 구조에서 말하는 파이프라이닝을 네트워크에도 적용시킬 수 있습니다. Pipelined protocol에는 크게 두 가지 종류가 있습니다. go-Back-N selective repeat 파이프라이닝을 적용시키면 아래와 같은 효과를 볼 수 있습니다. 1.1 ..