본문 바로가기

학교 수업/컴퓨터 네트워크14

Transport layor - 2.1 Pipelining, Go Back N, Selective Repeat Rdt 3.0에서는 세그먼트 하나 보내고, 그에 대한 응답으로 ACK를 받고, 만약에 ACk가 오지 않으면 타이머가 자동으로 오버되면서 재전송하고, 이런 매커니즘을 보였어 근데 이게 세그먼트가 한두개도 아닐텐데, 언제 보내고 받고하고 있어? 너무 비효울적이라는 생각 들지? 그래서 나온 개념이 Pipelining이야. 이건 뭐냐면, 그냥 ACK가 오지 않아도, 네트워크 상황이 허락하는 만큼 그냥 연달아서 보내고 그에 대한 ACK를 각각 받는거지 이 매커니즘에는 두 가지 방법이 있는데 그게 바로 Go Back N이랑, Selective Repeat 방법이야. 간단하게 차이점을 말하면, 보내는 쪽에서 재전송을 할 때, 묶음으로 보낼지 못받은것만 보낼지 하는거에 대한 차이야 둘 다 공통점은 윈도우가 허락하는 만.. 2020. 5. 7.
Transport layor - 1.3 개요 // 컴퓨터 네트워크 자 여기서부터는 잠깐 Reliable data를 어떻게 전송할지 한번 볼거야. Transport layor에서는 이걸 rdt protocol로 해결해 이게 막 rdt 1.0부터시작해서 2.0 2.1 2.2 ...3.0 하면서 버전 업 하면서 지금까지 왔대. 근데 깊게 들어가면 머리아프니까 맨 처음 시작인 1.0과 3.0만 살펴볼거야. 맨 처음은 당연히 RDT 1.0이야. 아 RDT는 Reliable Data Transfer의 약자야 1.0에서는 한가지 상황을 가정하고 가는데 바로 네트워크 환경에서 모든 것이 완벽하게 처리 된다고 가정해. 이게 무슨말이냐면, 보낸 데이터가 망가지지도 않고, 잃어버리지도 않는 경우야. 그러면 Transport layor에서는 할게 아~무것도 없어 그냥 보내고 받기만 하면 되.. 2020. 5. 6.
Transport layor - 1.2 개요 // 컴퓨터 네트워크 자, 나머지 개념들을 정리하기 전에, 먼저 Socket이라는 개념을 살펴보고 가자. 내가 1.1 개요에서 transport layor는 application의 메세지를 전송해준다 그랬잖아. 그러면 application에서 메세지를 전송해 달라고 요청을 해야겠지? 카카오톡 보낼 때 생각해 보자. 너네 카카오톡 전송할 때, 그냥 전송 버튼만 누르지, transport layor한테 전달하고 막 그런거 안하잖아? 왜 그러냐면 transport layor는 기본적으로 운영체제에서 구현이 되어있어. applcation과 운영체제(OS)는 분리가 되어있어. 이 분리되어 있는 둘 사이를 연결시켜주는게 바로 Socket이야. 쉽게 말하면 일종의 연결 통로야. 자, 또 설명해야 할 게 있는데, 여기서 멀티플렉서(MUX).. 2020. 5. 5.
Transport layor - 1.1 개요 // 컴퓨터 네트워크 Transport layor는 말 그대로 전송하기 위한 층이야. 아래 그림처럼. 자. 그렇다면 뭘 전송할까? Application layor에서 온 메세지를 전송하는거지. 그럼 어디서 어디로 전송 해? End system 에서 End system 사이를 전송을 하는거야. 여기서 하나 알아두고 가야할 점은, 이 층에서는 Logical Communication을 담당해. 무슨말이냐면, 논리적인거야, 실제로 이 메세지를 직접 전달하는건 아니지만, 논리적으로 잘 배달이 되었나 안되었나 검사하는거지. Application은 자기가 보내고 싶은 만큼 메세지를 보낼거야. 카카오톡으로 예를 들면, 할말 적고 이모티콘도 넣고, 파일도 보낼 수 있고, 동영상도 보낼 수 있는거지 그럼 이렇게 보내달라고 요청이 오면, Tra.. 2020. 5. 4.