CS/네트워크
-
[네트워크] 9. Principles of Reliable data transferCS/네트워크 2023. 4. 4. 23:05
이번 챕터는 Data transfer에서 어떻게 Reliable하게 보낼 것인지에 대해 다루게 됩니다. 1. Principles of Reliable data transfer Application layer의 데이터 무결성은, Transport layer가 해주게 됩니다. 무선 등의 환경에서 어떻게 reliable한 데이터 전송을 가능하게 할 지 알아보도록 하겠습니다. 1.1 Reliable data transfer : Error & Solutions 데이터 전송 시 발생할 수 있는 문제는 크게 2가지가 있습니다. Corruption (Bit-error) : 비트가 틀려서 데이터가 잘못 된 경우입니다. Checksum과 ACK로 해결할 수 있습니다. Packet Loss : 도중에 패킷이 유실되는 경우..
-
[네트워크] 8. Transport Layer, multiplexing, UDPCS/네트워크 2023. 4. 3. 00:58
1. Transport services Application Layer 아래 계층인 Transport Layer에 대해서 알아보도록 하겠습니다. Transport service는 application layer 사이 통신이 logical communication 이라는 신뢰성을 주는 역할을 합니다. 보내는 쪽에서는 segment라고 하는 작은 단위로 쪼개서 보내게 되고, 받는 쪽에서는 그 쪼개진 segment를 모아 조합해서 application layer로 보내줍니다. (참고로 UDP는 Transport Layer에서는 나누지 않고, Network Layer에서 억지로 나누게 됩니다.) 1.1 Transport vs network layer Transport layer는 network layer의 ap..
-
[네트워크] 7. P2P와 Video StreamingCS/네트워크 2023. 3. 25. 18:37
1. P2P peer to peer 방식으로 client - server 구조와 대비되는 형태입니다. P2P 방식은 서버가 항상 열려있지는 않고, peer간 간헐적으로 연결을 하며 IP주소를 바꿉니다. 대표적인 예시로 BitTorrent가 있습니다. 1.1 p2p와 client-server의 성능 차이 client-server 성능 첫 번째로 client-server 의 File distribution time을 계산해보도록 하겠습니다. 다음과 같은 상황을 가정해 보도록 하겠습니다. 파일 하나의 size는 F 입니다. 서버의 업로드 capacity는 Us, 클라이언트의 업로드 & 다운로드 capacity는 각각 Ui, Di입니다. 클라이언트는 총 N개 있습니다. 이러한 상황에서 N개의 클라이언트가 서버로..
-
[네트워크] 6. DNSCS/네트워크 2023. 3. 21. 23:02
1. DNS DNS(Domain Name Service)는 우리가 흔하게 쓰는 hostname (www.google.com)을 ip주소로 바꿔주는 서비스입니다. DNS는 다음과 같은 특징을 가집니다. aliasing : hostname의 별명입니다. 실제 canonical 주소는 너무 길기 때문에 보통 사용하는 이름입니다. canonical : 실제 서버의 hostname입니다. distribution : 웹 서버를 복사하여 여러 대의 서버로 응답합니다. 서버들은 똑같은 DB를 접근하며, 동기화 해야 됩니다. 서버를 분산하는 이유는 다음과 같습니다. 서버가 한 개일 경우, 오작동을 일으키면 위험합니다. 트래픽 제한이 걸립니다. 거리상 멀게 되면 delay 등의 문제가 생깁니다. 유지 보수를 하는 동안 작..
-
[네트워크] 5. FTP와 Electronic Mail(SMTP, POP3, IMAP)CS/네트워크 2023. 3. 16. 23:59
1. FTP ftp 프로토콜은 보안상 이슈로 현재는 잘 사용하지 않는 형식입니다. ftp는 다음과 같은 특징을 가집니다. TCP 통신 방식 2개의 포트 사용 : control 포트로 21번을, data 전송 포트로 20번을 사용합니다. 이러한 방식을 out of band라고 합니다. (제어와 데이터 채널이 분리) 하나의 파일을 전송한 후, data connection을 종료합니다. stateful : server는 현재 디렉토리, 이전 인증 정보 등의 상태를 저장합니다. 1.1 FTP commands, responses ftp 통신을 하는 방법은 ftp앱을 사용하는 방법과, telnet을 이용해 직접 프로토콜을 사용하는 방법이 있습니다. 아래는 통신의 commanddㅘ responses의 예시 입니다. ..
-
[네트워크] 4. Web and HTTPCS/네트워크 2023. 3. 15. 00:26
이번 시간엔 Application Layer의 대표적인 형태인 Web과 HTTP에 대해 알아보도록 하겠습니다. Web and HTTP web 웹 페이지는 object를 담고 있습니다. object가 될 수 있는 형태는 HTML, JPEG, JAVA applet, audio file 등이 있습니다. 각 object는 주소를 지정할 수 있습니다. white-hack.tistory.com/entry/네트워크 위 주소에서 white-hack.tistory.com은 host name입니다. 이는 IP주소도 될 수 있지만, 숫자로 이루어지면 의미를 알기 어렵기 때문에 URL로 표시합니다. host name 이후 나오는 /entry/네트워크 는 path name입니다. HTTP http는 hypertext trans..
-
[네트워크] 3. Protocol stack과 Application LayerCS/네트워크 2023. 3. 9. 23:32
Protocol Stack 네트워크는 계층구조로 이루어져 여러 layer로 구성된다. 각 layer는 transparent(무관한) 관계를 가진다. 과거에는 총 7개의 layer로 나뉘었지만, 현재는 presentation layer과 session layer가 application layer에 흡수되었다. application : HTTP, FTP, SMTP등과 같은 응용 애플리케이션이 돌아가는 계층입니다. transport : 송수신 측 데이터 전송의 신뢰성을 위한 계층으로, TCP, UDP 방식이 있습니다. network : 송수신 간 어떤 라우터를 거쳐야 할지 결정합니다. link : 이웃한 네트워크 요소끼리 정보가 전달되는 계층입니다. physical : 전기신호를 전달하는 물리적인 계층입니다...
-
[네트워크] 2. Network core와 delay, loss, throughputCS/네트워크 2023. 3. 8. 00:48
1. Network Core 네트워크 코어는 여러 라우터들이 연결되어 있는 망으로, 데이터를 어디로 보낼지 라우팅 해줍니다. packet-switching을 통해 메세지를 여러 패킷으로 쪼개어 보내게 됩니다. Packet switching Packet switching은 다음과 같은 특징을 가집니다. Store and Forward : 라우터가 하나의 패킷을 받고, 그 다음 전송하는 방법입니다. 패킷의 delay는 홉(출발지와 목적지 사이 카운트) 단위로 계산해볼 수 있습니다. 예시) 패킷 하나의 크기가 L bits, 전송 속도가 R bps일 때, 1홉 보낼 때 걸리는 시간 = L / R 총 홉이 2개일 경우, 2L / R bandwidth(대역폭)을 넓게 하는 등 방법으로 R을 크게 해야 delay를 ..