ip: 숫자로 구성된 주소
범위가 제한되어 있다
0 ~ 256까지 256개이다
서브넷마스크: 네트워크 크기 8bit
게이트 웨이 네트워크 : 연결
DNS
PC와 PC(같은 것 끼리) 연결 할때 크로스케이블 사용(실기1번)
AI Address : 0.0.0.0~255.255.255.255 (총 약 42억개)
(초등)0 : 0000 0000
(중고등)0.0 : 0000 0000 0000 0000
(대학)0.0.0 : 0000 0000 0000 0000 0000 0000
ip갯수는 256까지 있는데 처음과 끝 ip를 사용하지 못하므로 254개가 있다
ping : 네트워크 상태를 확인하기 위한 명령어
ICM : internet control message protocol 패킷을 보내게되고 이에대한 응답이 오는지 확인함 이때 응답에 대한 지연 시간이나 패킷 손실 등의 정보가 출력
ping 명령어는 네트워크 문제에 해결에 유용하게 사용
모두에게 필수적인 명령어다
ICMP
0x08 Echo Request(요청)
0x00 응답
클라이언트.py
# 필요한 모듈을 임포트합니다.
import socket
# 서버의 IP 주소와 포트 번호를 지정합니다.
server_address = ('192.168.0.210', 8888)
# 클라이언트 소켓을 생성합니다.
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 서버에 연결합니다.
client_socket.connect(server_address)
# 메시지를 보냅니다.
message = 'Hello, server!'
client_socket.sendall(message.encode())
# 서버로부터 메시지를 받습니다.
data = client_socket.recv(1024)
print(f'Server replied: {data.decode()}')
# 클라이언트 소켓을 닫습니다.
client_socket.close()
서버 접속
서버: listen, bind, eccept, 클라이언트: IP, port connect가 필요하다.
서버
# 필요한 모듈을 임포트합니다.
import socket

# 서버의 IP 주소와 포트 번호를 지정합니다
. server_address = ('localhost', 8888)

# 서버 소켓을 생성합니다.
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 서버 소켓을 지정한 IP 주소와 포트 번호에 바인드합니다.
server_socket.bind(server_address)

# 클라이언트로부터의 연결 요청을 기다립니다.
server_socket.listen(1)

while True:
print('Waiting for a connection...')
# 클라이언트의 연결 요청이 있을 때까지 대기합니다.
connection, client_address = server_socket.accept()

try:
print(f'Connection from {client_address}')
# 클라이언트로부터 데이터를 수신합니다.
data = connection.recv(1024)
print(f'Received {data.decode()}')

# 수신한 데이터를 클라이언트에게 다시 보냅니다.
connection.sendall(data)
finally:
# 클라이언트와의 연결을 닫습니다.
connection.close()