[CS]/[컴퓨터네트워크] 18

네트워크계층 - IP 프로토콜

※kocw에서 제공하는 이석복 교수님의 컴퓨터네트워크 수업을 듣고 필기한 내용입니다. 출처를 따로 밝히지 않는 한 전부 해당 수업에서 제공한 자료들이며 제가 작성한 부분에 있어 틀린 부분이 있을 수도 있다는 점 양해바랍니다. 라우터가 하는일 2가지 1. forwarding 포워딩 - 들어온 패킷의 목적지 주소와 포워딩 테이블의 엔트리를 매칭시켜서 그 엔트리에 해당하는 링크로 전달한다 2. routing 라우팅 - 포워딩 테이블을 만들어 주는 역할을 담당 - 라우터는 오직 들어온 패킷을 라우팅 알고리즘에 따라 다음 라우터로 전달하는 역할만을 담당 - 라우터에 모든 도착지 정보를 다 담아둘수는 없음, 대략적인 큰 범위만 구분하여 전달 - Longest prefix matching 방식을 사용, prefix가..

중간복습 - Network, Application layer, Transport layer

※kocw에서 제공하는 이석복 교수님의 컴퓨터네트워크 수업을 듣고 필기한 내용입니다. 출처를 따로 밝히지 않는 한 전부 해당 수업에서 제공한 자료들이며 제가 작성한 부분에 있어 틀린 부분이 있을 수도 있다는 점 양해바랍니다. 1. Computer Network and Internet 1) 인터넷의 구성 요소 1. 엣지 - 서버, 클라이언트 2. 코어 - 라우터 2) 인터넷의 기본 전송 단위 - 패킷 - 인터넷은 데이터를 패킷으로 쪼개서 전송하기 때문에 한꺼번에 여러명의 사용자를 관리할 수 있음 - 하지만 라우터가 담을 수 있는 크기를 초과해서 패킷이 들어올 경우 유실이 발생함 - 이렇게 발생하는 유실이 네트워크 전체 유실의 대부분을 차지 3) 데이터 전송때 걸리는 시간 1. 프로세싱 딜레이 - 헤더를 읽..

전송계층3 - TCP Protocol

※kocw에서 제공하는 이석복 교수님의 컴퓨터네트워크 수업을 듣고 필기한 내용입니다. 출처를 따로 밝히지 않는 한 전부 해당 수업에서 제공한 자료들이며 제가 작성한 부분에 있어 틀린 부분이 있을 수도 있다는 점 양해바랍니다. TCP 특징 1. point-to-point: 1대1 연결(1 센더 소켓 - 1 리시버 소켓) 2. reliable, in-order byte stream: 전송간 데이터 에러, 유실이 없음 3. pipelined: 한꺼번에 다수의 패킷 전송(윈도우 만큼) 4. full duplex data: 데이터가 양뱡향으로 통신함(받기만 하거나 보내기만 하지 않고 받고 보내고 둘다 함) 5. send & receive buffers: 센더,리시버 둘다 패킷을 임시 보관할 버퍼를 가지고 있음(모..

전송계층2 - Reliable한 데이터 전송을 위한 기능들

※kocw에서 제공하는 이석복 교수님의 컴퓨터네트워크 수업을 듣고 필기한 내용입니다. 출처를 따로 밝히지 않는 한 전부 해당 수업에서 제공한 자료들이며 제가 작성한 부분에 있어 틀린 부분이 있을 수도 있다는 점 양해바랍니다. Reliable Data Transfer(RDT) 프로토콜 - 기본적으로 tcp는 udp보다 더 많은 것을 제공하는데, 그 중 첫번째는 tcp는 reliable한 데이터를 제공함 - 전송계층 밑에 계층에서 이루어지는 전송은 reliable 하지 않음(Message error, Message loss가 있을 수 있음) - 전송계층에서 메세지 에러와 유실을 체크해줘야됨 그럼 reliable을 보장하는 Reliable Data Transfer(RDT) 프로토콜을 한번 간단한것부터 점진적으..

전송계층1 - 전송계층이 제공하는 2가지 기본 기능(Multiplexing and Demultiplexing, 에러체크)

※kocw에서 제공하는 이석복 교수님의 컴퓨터네트워크 수업을 듣고 필기한 내용입니다. 출처를 따로 밝히지 않는 한 전부 해당 수업에서 제공한 자료들이며 제가 작성한 부분에 있어 틀린 부분이 있을 수도 있다는 점 양해바랍니다. 프로세스간 통신 방법 1. 어플리케이션 계층에서 전송계층으로 message 를 전달한다 2. 전송계층은 받은 message를 segment(HEADER + DATA) 형태로 네트워크 계층에 전달한다 3. 네트워크 계층은 받은 segment를 pocket(HEADER + DATA) 형태로 데이터링크 계층에 전달한다 4. 데이터링크 계층은 받은 pocket을 frame(HEADER + DATA) 형태로 물리 계층에 전달한다 5. 물리계층에서 라우터를 타고 목적지의 물리계층에 도착한다 6..

애플리케이션계층2 - 소켓프로그래밍

※kocw에서 제공하는 이석복 교수님의 컴퓨터네트워크 수업을 듣고 필기한 내용입니다. 출처를 따로 밝히지 않는 한 전부 해당 수업에서 제공한 자료들이며 제가 작성한 부분에 있어 틀린 부분이 있을 수도 있다는 점 양해바랍니다. 소켓 프로그래밍 애플리케이션 계층에서 사용되는 소켓을 알아보고, c 코드로 직접 구현해보기 소켓이란? 소켓은 os에서 제공하는 api 중, 프로세스 간의 통신을 위한 api를 소켓이라고 함. 다양한 function들을 가지고 있음 어플리케이션에서 사용할 수 있는 서비스는 전송계층에서 제공해주는 서비스 밖에 이용 못하는데, 전송계층에서는 TCP. UDP 만을 제공함. 이 중에서 하나를 선택해서 사용해야됨 tcp: SOCK_STREAM udp: SOCK_DGRAM TCP 소켓 프로그래밍..

애플리케이션계층1 - 사용자계층 네트워크애플리케이션종류

※kocw에서 제공하는 이석복 교수님의 컴퓨터네트워크 수업을 듣고 필기한 내용입니다. 출처를 따로 밝히지 않는 한 전부 해당 수업에서 제공한 자료들이며 제가 작성한 부분에 있어 틀린 부분이 있을 수도 있다는 점 양해바랍니다. 계층 구조 통신이란 결국 서버와 클라이언트 어플리케이션 계층의 프로세스끼리의 통신이다 - 우리가 웹서핑할때 어플리케이션 계층끼리의 통신만 보지만 사실 서버와 클라이언트 각 엣지의 계층 구도를 지나고 라우터를 통해서 데이터가 송수신됨 - 각 엣지는 이렇게 모든 계층을 가지고 있어서 모든 중심 기능을 다 엣지가 처리 - 그에 비해 라우터는 네트워크 계층까지만 있음, 패킷을 받아서 전달하는 기본적인 기능만 수행 ps. 여기서 서버란? - 서비스를 제공하는 컴퓨터 - 24시간 가동되야됨 -..

컴퓨터 네트워크 기본1 - 컴퓨터네트워크 및 인터넷 역사

※kocw에서 제공하는 이석복 교수님의 컴퓨터네트워크 수업을 듣고 필기한 내용입니다. 출처를 따로 밝히지 않는 한 전부 해당 수업에서 제공한 자료들이며 제가 작성한 부분에 있어 틀린 부분이 있을 수도 있다는 점 양해바랍니다. 네트워크 구조 1) network edge - 사용자 applications and hosts (웹 브라우저 등) 2) network core - 라우터(동그라미에 x표시된것, 데이터를 목적지까지 전달하는 역할) 3) access network, physicla media(와이파이, LTE 등) 인터넷이 제공하는 통신 서비스 1) TCP - connection-oriented service 1. reliable, in-order byte-stream data transfer: 신뢰성..