네트워크6 파이썬으로 소켓프로그래밍 구현 UDP User Datagram Protocol 데이터그램: 비연결 지향형 SOCK_DGRAM UDP 메소드 recvfrom(int length): byte의 길이 만큼 다른 소켓에서 보낸 값을 받아온다.(하지만 length의 길이 만큼 가져온다는 보장은 없다.) sendto(byte[] packet, clientAddress): 해당 주소를 가진 client에게 byte[]을 보낸다. Client Socket from socket import socket host = "192.168.1.112" # 접속할 호스트 IP port = 12000 # 접속할 프로세스 port clientSocket = socket(AF_INET, SOCK_DGRAM) try: message = input("Input lowe.. 2022. 6. 22. 소켓프로그래밍 소켓 an end-point in the IP networking protocol. 1989년 미국의 UC 버클리 대학에서 C기반으로 처음 계발됨. 네트워크 상에서 돌아가는 두 개의 프로그램 간 양방향 통신의 하나의 엔트 포인트. endpoint: 아이피 주소와 포트 번호의 조합을 가진 소프트웨어 장치. TCP 연결은 2개의 앤드 포인트로 유일하게 식별되어질 수 있음(클라이언트와 서버 간 여러 개의 연결이 맺어질 수 있음) 두 소겟이 연결되면 서로 다른 프로세스끼리 데이터를 전달할 수 있다. TCP/IP 4계층에서 응용계층 바로 아래에 소켓 계층을 만들어서 응용계층 하위단계의 자세한 내용을 모른다 하더라도 소켓을 이용하면 응용계층만 신경쓰고 네트워크 프로그램을 개발 할 수 있음. Client 소켓과 Se.. 2022. 6. 22. 공인IP/사설IP 와 고정IP/유동IP 내부 IP/외부 IP 내부 IP 집 안 또는 회사(하나의 wifi or 허브)에 형성된 네트워크가 내부 네트워크이며, 이 네트워크 안에 있는 기기가 할당받은 ip가 내부 ip이다. 사설ip 내부ip라고 할 수 있다. 사설 ip는 공인 ip처럼 외부에서 해당 네트워크에 접속할 수 없는 내부 네트워크에서만 쓸수 있는 ip이다.(해당 ip에 접속하려는 해당 네트워크에 있어야 된다.) 외부 IP 집 밖(케이블 모뎀 ex) kt홈허브:유무선공유기)에 형성되어 있는 네트워크가 외부 네트워크이며, 이 외부 네트워크로 나갈 수 있도록 통로가 되어 주는 기기의 ip가 외부 ip이다. 외부 ip는 고정ip가 아니라 거의 바뀌지 않는 유동 ip이다. 외부 ip는 ISP(Internet Service Provider ex) .. 2022. 6. 22. 인터넷과 네트워크 주소(IP, PORT, MAC) 인터넷 인터넷(Internet)이란 여러 통신망을 하나로 연결한다는 의미의 ‘인터 네트워크(inter-network)’라는 말에서 시작되었으며, 이제는 전 세계 컴퓨터들을 하나로 연결하는 거대한 컴퓨터 통신망 라우터에 의해 연결된 네트워크 네트워크 통신은 호스트와 호스트간의 통신이 아니라 호스트내의 프로세스와 다른 호스트내의 프로세스간의 통신이다. IP IP(Internet Protocol)은 신뢰성 없는 비연결형(전화같은 연결형이 아닌 이메일처럼 현재 연결상태필요 없는)프로토콜로서 신뢰성을 보장은 하지 않으며, 복구, 추적도 없고 데이터손실이나 뒤섞인 상태전송이 있다는 가정을 하고 주고 받는 통신규정 이러한 IP 신뢰성 및 효율성 문제를 해결하기 위해 protocol를 계발 -> TCP/IP, UDP/.. 2022. 6. 22. 네트워크 기본2(프로토콜 디자인과 각 계층의 기능) 프로토콜 디자인 프로토콜: 컴퓨터 네트워크에서 데이터를 주고 받을 때 수행되는 절차 규격. 기능: 주소지정(MAC, IP, PORT등 ) 크게 OSI 7계층과 TCP/IP 4계층으로 나뉜다. OSI 7계층 OSI(Open Systems Interconnection Reference Model) 국제 표준화기구(OSI)에서 개발하여 컴퓨터 네트워크 프로토콜 디자인 및 통신을 7계층으로 나눈 프로토콜. 프로토콜을 기능별로 나눈것. 1-3계층: 하드웨어 계층, 4-7: 소프트웨어 계층. 1계층 물리계층(Physical Layer) 네트워크의 하드웨어 전송기술을 말함. 비트단위를 전기신호로 변환 및 전송. 하드웨어적으로 전기적 신호를 주고 받으므로 가장 복잡함. 랜선, 리피터(Repeater), 허브(Hub)의.. 2022. 5. 28. 네트워크 기본1(네트워킹과 Network 물리적 구조) 네트워킹 이란 두 대 이상의 컴퓨터를 케이블로 연결하여 네트워크를 구성하는 것. 컴퓨터들을 서로 연결하여 데이터 손쉽게 주고받거나 또는 자원 프린터와 같은 주변기기을함께 공유. 1 . 호스트/클라이언트/ 서버 호스트: 네트워크에 연결되어 있는 모든 컴퓨터들. ex) 네이버 호스트 도메인: https://naver.com -> 네이버 호스트 IP: 210.89.160.88 localhost(지역 호스트): 컴퓨터 네트워크에서 사용하는 루프백 호스트명으로, 자신의 컴퓨터를 의미한다. 번호: 127.0.0.1 서버: 서비스를 제공하는 컴퓨터. 서비스를 제공하기 위해 서버프로그램(Socket 사용) 필요. 클라이언트: 서비스를 받는 컴퓨터. 서비스를 제공받기 위해 클라이언트프로그램(Socker 사용) 필요.ex.. 2022. 5. 28. 이전 1 다음