본문 바로가기

컴퓨터 공학/컴퓨터 네트워크

(18)
[컴퓨터 네트워크] acronym 총정리 ARP : Address Resolution Protocol TCP : Transmission Control Protocol 세그먼트 three-way handshaking 송수신측 모두 윈도우를 각각 가지고 있음 RTO : Retransmission Time Out RTT : Round Trip Time rnwd : receive windoe cnwd : congestion window → 사이즈는 min(rnwd, cnwd) slow start : cwnd++(1씩 증가시킴), increase additively fast recovery : cwnd + (1/cnwd), sshtresh 를 넘으면 exponentail increas Taho TCP 시작은 cwnd = 1, ssthresh는 cwnd ..
[컴퓨터 네트워크] 네트워크 계층 기본 개념 정리 1. Service of network layer 1.1 Packetizing Encapsulating 송신지에서 상위 계층에서 받은 데이터(=페이로드)를 네트워크 계층 패킷에 담는 것 너무 크면 쪼개서 쪼갬 fragmentation Decapsulating 수신지에서 전달받은 패킷으로부터 페이로드를 꺼내는 것 라우터나 송신지에서 패킷을 쪼개서 보내는 경우 모든 조각들이 도착할 때까지 기다렸다가 재조립하고 상위 계층으로 전달 1.2 Routing 물리적으로 네트워크의 조합되어 사용되기 때문에 하나 이상의 송수신지가 경로에 존재함 따라서 여러 경로 중 최적의 경로를 찾아줌 1.3 Forwording 라우터 input → output 으로 패킷 이동시키는 것 이때 포워딩 테이블 참조해서 적절한 수신지로 보냄..
[Python3/컴퓨터 네트워크] 소켓 프로그래밍 : 파일 전송 프로그램 성균관대학교 소프트웨어학과 추현승 교수님의 2021년도 1학기 네트워크 개론 수업 과제 입니다. 서버가 가지고 있는 파일을 클라이언트 측으로 전송하는 프로그램입니다. 전송하고자 하는 파일을 서버 디렉터리에 위치시키고 서버 프로그램에 파일을 오픈하는 코드에서 파일 이름을 설정해주면 됩니다. 서버를 실행시킨 후 클라이언트를 실행시켜 파일 전송 요청을 보내면 클라이언트 디렉터리에 서버가 가지고 있는 파일이 전송되어 생성되는 것을 확인할 수 있습니다. 파일 구조 fileTransfer |-------- server |-------sent_data.txt |-------server.py |-------- client |-------client.py server.py #import socket for socket ..
[Python3/컴퓨터 네트워크] 소켓 프로그래밍 : 멀티 쓰레드 성균관대학교 소프트웨어학과 추현승 교수님의 2021년도 1학기 네트워크 개론 수업 과제 입니다. 아래 링크에서 수행했던 클라이언트 서버 프로그램에서 서버 프로그램이 멀티쓰레딩이 가능하도록 바꾸는 과제 입니다. [Python3/컴퓨터 네트워크] 소켓 프로그래밍 : html request를 보내는 클라이언트와 request 받은 파일을 성균관대학교 소프트웨어학과 추현승 교수님의 2021년도 1학기 네트워크 개론 수업 과제 입니다. 서버 프로그램의 스켈레톤 코드가 주어지고, 빈 코드를 채워 서버 프로그램을 완성하고 이 서버 seungyooon.tistory.com 코드에 대한 설명은 주석을 참고해주세요 server.py #import socket module from socket import * #import..
[컴퓨터 네트워크] Transport Layer 전송 계층 기본 개념 정리 애플리케이션 - 전송 - 네트워크 서로 다른 호스트에서 실행되는 두개의 애플리케이션 프로세스 사이의 커뮤니케이션 제공 ( 메시지 전달 목적지 호스트의 애플리케이션까지 찾기) vs 네트워크 계층 : 호스트간 커뮤니케이션 (메시지 전달 목적지가 되는 컴퓨터 찾기) 논리적 연결 사용 Addressing 멀티 유저, 프로그래밍 환경 로컬 - 리모트 호스트 IP 주소로 식별 호스트 내부 프로세스는 포트넘버로 식별 (16비트) 클라이언트 - 임시 포트 넘버 (1023보다 큼) 서버 - well-known 포트 넘버 ICANN (Internet Coporation of Assigned Names and Numbers) 0-1023 : well-known 포트 (FTP 21 SSH 22 telnet 23 HTTP 80..
[컴퓨터 네트워크] Application layer 애플리케이션 계층 기본 개념 정리 애플리케이션 계층 - 인터넷 사용자에게 서비스 제공 커뮤니케이션은 논리적 연결을 사용해서 제공 (메시지 주고바을 때 논리적 연결 사용) peer-to-peer 패러다임 항상 서버 있는 것 X 양단간 임시적 소통 관리는 어려우나 확장성이 좋고 분산성이 높음 믹스 패러다임 클라이언트 서버 패러다임 : 클라이언트가 서버에 요청 → 서버가 클라이언트에 응답 P2P ; 클라이언트가 다른 클라이언트로 정보 공유 가능 클라이언트 서버 패러다임 서버 영구적인 IP 주소 클라이언트 요청에 대해 응답 서비스 클라이언트 서버에 요청 보냄 API (Application Programming Interface) TCP/IP의 하위 4계층에 연결을 생성하고 데이터를 주고 받고 연결을 끊으라는 명령의 집합 소켓 인터페이스 운영체제..
[컴퓨터 네트워크] 컴퓨터 네트워크 Introduction 정리 네트워크 장치간 interconnection 여러 장치간 동의한 규약인 프로토콜을 기반으로 상호 연결을 해서 인터넷 작동 LAN 제한된 크기 대부분 조직에서 사적으로 소유한 네트워크 낮은 비용 쉬운 설치 빠른 속도 WAN LAN 보다 넓은 범위를 연결 point to point WAN : 장거리의 두 디바이스 간 연결 switched WAN : 두 개 이상의 디바리스를 연결하는 네트워크 / 스위치로 연결 느린 속도 높은 비용 복잡한 설치 스위칭 circuit switched 양 단간 시스템 사이에서 사용 가능한 전용 연결 (회선) 스위치를 circuit (회선)을 끄고 킬수만 있음 paceket switched 양단간 소통시 교환하는 데이터 블록 = 패킷 이 네트워크의 라우터는 큐를 저장하고 보내는 큐로..
[컴퓨터 네트워크] Chapter4) Network Layer 네트워크 계층 Chapter4) Network Layer 네트워크 계층 processing (2021.04.20~) 1. Introduction 전송 계층은 logical connection을 하고 있는 것으로 양 단 사이의 디바이스들은 이 연결을 몰라도 된다. 네트워크 계층은 논리적 연결이 아니라 물리적 연결이 필요하다 1.1 네트워크 계층에서 제공하는 서비스 1.1.1 패킷화 packetizing 송신측에서 캡슐화, 수신측에서 디캡슐화 송신측에서 네트워크 계층 패킷에 있는 페이로드 (상위 계층에서 받은 데이터)를 캡슐화 페이로드가 너무 크면 쪼갤 필요가 있음 수신측에서 네트워크 계층 패킷의 페이로드를 de-capsulating 1.1.2 라우팅 routing ** LAN과 WAN 의 조합으로 물리적 계층이 구성되기..