컴퓨터 네트워크 : 하향식 접근의 내용을 정리인터넷이란 수많은 컴퓨터 기기들을 연결하는 컴퓨터 네트워크를 의미한다. 컴퓨터 기기라고 할 때 전통적 관점에서는 데스크탑 컴퓨터, 리눅스 작업환경, 정보를 저장하고 전송하는 서버, 최근에는 스마트폰, 스마트시계, 가전제품,
네트워크는 크게 1) Network edge 2) Access network 3) Network Core 이렇게 세가지로 나뉜다. 간단히 그 내용을 짚고 넘어가자. 이 사진과 같이 client와 server로 구성된 hosts(end system)들이 network e
End system 과 edge router를 과연 어떻게 연결시켜야 할 것인가?가장 말단에 있는 end system과 그것들과 맞닿는 edge router들은 어떻게 만나야 할 것인가? 여기에는 다양한 방법들이 존재하지만 무엇보다 얼마나 빠른 방법인지(bits/sec
광섬유를 집안까지 연결한다는 뜻으로 초고속 기가 인터넷 설비 방식 중 하나이다. 1) 광섬유 : 빛을 이용하기 때문에 매우 빠르다. 2) 대역폭 : bandwidth가 높기 때문에 다운로드 업로드 속도가 빠르다. 3) 안전성 : 전기가 아니라 빛이기 때문에 전기적 간섭
프로토콜에는 위와 같은 분류가 적용되는데 여기서 우리가 오늘 알아볼 sliding window protocol에 속하는 것은 다음의 그림과 같이 GO-Back-N ARQ와 Selective Repeat ARQ 이렇게 두가지가 존재한다. 우선 Stop and Wa
N은 window의 size를 의미한다. N = 3 이라면 3개의 프레임이 첫번째 프레임의 ack가 오기 전에 보내진다.프레임은 유한하고 순차적인 방식으로 전해진다.프레임은 윈도우 사이즈에 의존적이다. 만약 ack가 도착하지 않으면 현재 윈도우의 모든 프레임은 다시 재
https://www.youtube.com/watch?v=gG0xzEHH0iU
여기에서도 Phsical Media : Twisted Pair를 살펴본다.둘의 구별은 단순하다. shielded와 unshielded의 차이다. plastic cover다음 Metal shield까지 있는지의 여부에 따라 달라지는 것Twisted? : 전선을 꼬아놓은
신뢰할 만하고byte byte를 오류없이 순서에 맞게 전송한다. message boundaries를 유지하지 않는다. byte를 오류 없이 순서에 맞게 전달하는 게 주 관심이다. 반면 UDP는 boundary를 유지한다. 이 개념을 이해하지 못하면 socket prog
데이터를 보내기 전에 end-to-end가 call을 통해서 미리 경로를 예약한다. dedicated라는 것은 다른 데이터들과 share하지 않고 별도로 할당해주는 것을 의미한다. 주로 과거 전화선에 연결됐다(상식적으로 전화하다가 다른 네트웤에게 내어줄 수 없는 것이니
패킷 스위칭은 파열형(bursty) 데이터 전송에 효과적입니다. 이는 데이터 전송이 때때로 발생하며 다른 시간에는 발생하지 않는 경우에 적합합니다.자원 공유: 패킷 스위칭은 네트워크 자원을 효과적으로 공유합니다. 여러 사용자가 동시에 네트워크를 사용할 수 있습니다.단순
Point-to-Point (일대일):TCP는 한 발신자와 한 수신자 간의 통신을 지원합니다. 즉, 데이터는 하나의 송신자에서 하나의 수신자로 전송됩니다.신뢰성 있고 순서대로 전달되는 바이트 스트림:TCP는 데이터를 메시지 단위가 아니라 바이트 단위로 전송합니다. 이는
같은 구조를 다른 그림으로 한번 더 TCP에서 전송단위는 segment라고 불린다. 헤더에는 source와 destination port number들이 적혀있고 이를 통해 상위 layer와 데이터를 multiplexing/demultiplexing 한다.32bits
Rounter에는 packet이 넘칠 것을 대비해 buffer가 존재한다. 이 버퍼는 queue구조이다. 당연하겠지만 link의 capacity보다 arrival rate가 더 높을 때 queue가 증가한다. 만약 queue가 full인데도 더 도착하면 그 때부턴 pa
TCP에서 예약과정이 어떻게 작동하는지?Reliable, ByteStream?Message Boundary적용X하나로 뭉쳐서 보내기 위해 : 정상적인 경우는 단 하나 이거 뿐입니다.첫번째 그림은 세번쨰 sender의 보낸게 사라질 것엑이 늦게 도착해서 92번이 재전송.
리시버 버퍼의 오버플로우를 막는 것이 플로우 컨트롤위에서 남아있는 리시버 버퍼의 사이즈를 알려주면 센더에서는 해당 윈도우의 사이즈를 맞춰준다.rwnd가 sender의 window size가 된다. 타이니 그램 : 패킷을 보낼 때 메시지가 있으면 TCP해더, IP해더가
Congestion vs flow control네트워크에서의 packet양 조절 vs 리시버에서 컨트롤 다르다. 서로외형적으로는 점점 packet이 쌓이고 딜레이가 길어지기 시작한다. congestion 컨트롤 메카니즘은 sending rate를 줄이거나 크게 하는 방
https://code-lab1.tistory.com/30TCP현재 메카니즘 congestion mechanism 갖고는 10GB를 전송할 수 없다. 그래서 congestion avoidance를 빨리 증가시키는 쪽으로 연구가 진행됐다.
큐빅은 현재 리눅스/유닉스의 기본 congestion control이다. 큐빅은 리노랑 비슷하다. 이는 congestion avoidance phase쪽에서 바꾼 것. 훨씬 aggresive하게 윈도우 사이즈를 변화시킴. 큐빅이라고 부르는 이유는 3승이 들어가서. w(
congestion이 아닌 loss(wireless환경)? 어떻게?congestion이 났는지를 확실히 알려주는 게 제일 좋다><그런데 router에서 그걸 알 수 있다. ECN은 Layer 3에게 되는 것. 그래서 IP의 도움을 받아야 함. IP header에
Evolving transport-layer functionality▪TCP, UDP: principal transport protocols for 40 years▪많은 세월동안 TCP, UDP 둘만 사용되어 왔다.Manyversions of TCP have devel
에러가 났을 때 왜 에러가났는지?(디버깅이 중요)다음주에 오기전까지 프로그램을 돌려보고 오도록!레이어 2에 직접 접속해서 프로그램을 할 수 있다. 소켓은 대부분 2,4에 집중되어 있다. 만약 분산시스템을 적용하면 운용 쪽에서 추가적으로 해서 할 수 있다. 전산쪽에서 많
I/O : selecting필요성을 이해해야. block함수에 걸리는지 점검해야. Assume that a process is handling two inputs at the same time, that is, standard input and a socket.If t
ATM은 일정한 Bit rate를 보장한다. 로스없고 순서에 맞춰서. virtual circuit switching 이기에 미리 경로를 만든다. 그래서 순서에 따라 도착함. 일정 시간내에 도착 보장. 그중에서 Available은 적어도 최소한의 bandwidth를 보장