博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络基础-1
阅读量:5315 次
发布时间:2019-06-14

本文共 1612 字,大约阅读时间需要 5 分钟。

三要素:

IP, 端口号,网络协议:

  • IP: 可以唯一标识一个网卡,即在网络中唯一标识一台计算机
  • 端口号:唯一标识一台计算机上的一个程序
  • 网络协议:不同的计算机通过网络协议屏蔽网络差异,并实现数据交换

IP地址

  1. IP 地址:(网络号)+主机号,一共32位

    • A类:("0"+7位)+24位
    • B类:("10"+14位)+16位
    • C类:("110"+21位)+8位
    • D类:("1110"+其他) :用做多点广播
    • E类:("1111"+其他):用于实验研究,不讨论它。
    • 一般用点分十进制表示一个32位二进制表示的IP地址
    • 主机号全为0的IP地址表示网络号,不标识计算机而是标识一个网络。主机号全为1表示广播(当前即IP地址代表着当前网络域的所有计算机)
  2. 私有IP(与公开IP相对):

    • 10.0.0.0~10.255.255.255
    • 172.16.0.0~172.31.255.255
    • 192.168.0.0~192.168.255.255
    • IP地址127.0.0.1~127.255.255.255用于回路测试
      如: 127.0.0.1可以代表本机IP地址,用http://127.0.0.1 就可以测试本机中配置的Web服务器
  3. 子网掩码:

    • 作用:把网络号和主机号分开,提取网络号
    • 特点:子网掩码和IP地址必须一起出现,彼此都离不开谁
    • 结构:“网络位”全为1,“主机位”全为0。因此,一个子网掩码与IP地址进行"按位与"操作(&),即可得到当前IP地址所在的网络号。
    • 例如, IP地址为“192.168.1.1”, 子网掩码为“255.255.255.0”。当前的网络号为192.168.1.0

端口:

  • 唯一标识一台计算机的某一个服务(或者说程序)
  • 端口号是一个[0,65535]范围内的整数
  • 分为熟知端口和动态端口
  • 熟知端口([0,1023])比如http服务一般默认占用80端口,ftp服务默认占用21端口,熟知端口一般有固定用途。
  • 动态端口是[1024,65535],写用户程序一般申请动态端口,系统随机分配一个动态端口的端口号
  • windows下 netstat -an 查看端口状态

网络协议

  1. TCP/IP协议族:(OSI7层协议我们只关心上面四层)

  2. Socket:

    • 结构:(IP地址,端口号),唯一标识了一个服务
    • Socket编程本质上提供了一组使用TCP/IP协议族的API
    • 面向B/S模型,针对客户端和服务端各自提供了一组API。
  3. Socket(套接字)之间的连接可分为三个步骤:服务端监听,客户端请求,连接确认。

    创建Socket:
    • import socket
      socket.socket(AddressFamily, Type)
    • 创建并返回了一个socket对象

参数说明:

  • Address Family:可以选择 AF_INET(用于Internet 进程间通信)或者AF_UNIX(用于同一台机器进程间通信) ,实际工作中常用AF_INET
  • Type:套接字类型,可以是 SOCK_STREAM(流式套接字,主要用于TCP 协议) 或者 SOCK_DGRAM(数据报套接字, 主要用于 UDP 协议)

  1. UDP与TCP的对比

    • UDP无连接不可靠,TCP有连接可靠
    • UDP速度快,TCP速度慢
    • UDP资源消耗小,TCP消耗更多资源
    • UDP使用比TCP简单
  2. UDP的适用场景:多点广播和实时通信(要求速度快)

    • 视频
    • QQ
    • TFTP(简单文件传送)
    • SNMP(简单网络管理协议)
    • RIP(路由信息协议,如报告股票市场,航空信息)
    • DNS(域名解释)
  3. TCP:面向连接,可靠,但速度慢,消耗资源多,操作比

    UDP复杂,TCP连接基于“三次握手”:

    比如A和B要建立一个TCP连接,要发生:
    • A请求
    • B响应
    • A发送同步信息

转载于:https://www.cnblogs.com/LS1314/p/8608878.html

你可能感兴趣的文章
我的手机 不支持箭头函数
查看>>
TSQL语句中的Like用法
查看>>
ExtJs 4.x Ajax简单封装
查看>>
----斐波那契数列---eval函数----类递归思想 栈 进出 思想
查看>>
Yii2 的快速配置 api 服务 yii2-fast-api
查看>>
javascript学习笔记 null和undefined
查看>>
jquery easyui datagrid getSelections用法
查看>>
PHP 学习1.1
查看>>
Linux学习之服务器搭建——DHCP服务器
查看>>
垃圾收集算法
查看>>
二分查找
查看>>
数组去重
查看>>
mac编辑器coda使用小贴条
查看>>
px,em,rem,vw单位在网页和移动端的应用
查看>>
造数据时踏过的坑
查看>>
sql里如何for循环
查看>>
正则表达式
查看>>
Henan Hongxing broken equipment in practice for testing truth
查看>>
【Linux】【Services】【nfs】nfs安装与配置
查看>>
PHP json_encode() 函数介绍
查看>>