【计算机网络】(一)学习笔记 --- [快速复习版本]

1 计算机网络的层次结构

在这里插入图片描述

1.1 TCP/IP四层模型

在这里插入图片描述

1.2 以太网协议详解

在这里插入图片描述
在这里插入图片描述

1.2.1 MAC地址

在这里插入图片描述

1.2.2 以太网协议

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 网络层

在这里插入图片描述
在这里插入图片描述

2.1 网络层IP协议相关

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 ARP & RARP

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 IP地址的子网划分

子网划分

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


无分类编址CIDR

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.4 网络地址转換NAT技术

解决IP地址不够用的问题

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.5 ICMP协议详解

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.6 Dijkstra(迪杰斯特拉)算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.7 rip & ospf

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 传输层

用户编程的最底层
传输的最高层

3.1 传输层简介

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 进程与进程之间的通信***

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3 UDP协议详解

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4 TCP协议详解

3.4.1 TCP概述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4.2 可靠传输的基本原理

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4.3 TCP协议的可靠传输

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

3.4.4 TCP协议的流量控制

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4.5 TCP协议的拥塞控制

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4.6 TCP连接的建立(三次握手)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4.7 TCP连接的释放(四次挥手)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4.8 套接字与套接字编程***

IP:Port

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

【1】 server

# -*- encoding=utf-8 -*-

import socket


def server():
    # [1] 创建套接字 socket
    s = socket.socket()
    host = "127.0.0.1"
    port = 6666

    # [2] 连接socket
    s.bind((host, port))

    # [3] 监听
    s.listen(5)

    while True:
        c, addr = s.accept()
        print('Connect Addr : ', addr)
        c.send(b'Welcome to my server')
        c.close()

if __name__ == '__main__':
    server()

【2】 client

# -*- encoding=utf-8 -*-
import socket

def client(i):
    # [1] 创建套接字 socket
    s = socket.socket()
    host = "127.0.0.1"
    port = 6666

    # [2] 连接socket
    s.connect((host, port))

    print(f'Recv msg : {s.recv(1024)}   ID : {i}')
    s.close()


if __name__ == '__main__':
    for i in range(10):
        client(i)

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
在这里插入图片描述

4 应用层

4.1 概述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.2 DNS详解

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.3 DHCP协议详解

在这里插入图片描述
在这里插入图片描述

4.4 HTTP协议详解

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4.5 HTTP工作的结构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.6 HTTPS协议详解

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述


在这里插入图片描述
在这里插入图片描述

5 实践

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.1 搭建服务基本框架

在这里插入图片描述

5.2 python操作字节序列

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# -*- encoding=utf-8 -*-


import struct

# 八个字节
bin_str = b'ABCD1234'
print(bin_str)
result = struct.unpack('>BBBBBBBB', bin_str)
print(result)
result = struct.unpack('>HHHH', bin_str)
print(result)
result = struct.unpack('>LL', bin_str)
print(result)
result = struct.unpack('>8s', bin_str)
print(result)
result = struct.unpack('>BBHL', bin_str)
print(result)

在这里插入图片描述

5.3 实现IP报文解析器

在这里插入图片描述
在这里插入图片描述

5.4 实现UDP报文解析器

在这里插入图片描述

5.5 实现TCP报文解析器

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值