1.IP分类(点分十进制IP,IPv4 32位,IPv6v 48位)

A类:0.0.0.0 - 127.255.255.255   (0开头)

B类:128.0.0.0 - 191.255.255.255 (10开头)

C类:192.0.0.0 - 223.255.255.255(110开头)

D类:224.0.0.0 - 239.255.255.255(1110开头,组播地址)

E类:保留

C类IP最多可以连接主机的个数为254,需要除网络地址0,广播地址255

2.子网掩码(是一个32位的整数,作用是将某一个IP划分成网络地址和主机地址,目的是合理的利用IP资源)

子网掩码: (前面全是1,后面全是0) (不同类型IP子网掩码范围不同,网络号是1,主机位是0)
255.255.255.0
1111 1111 1111 1111 1111 1111 0000 0000
网络号                                        主机号

例子:已知一个子网掩码号为255.255.255.192,问,最多可以连接多少台主机?
62台
256 - 192 = 64 - 2 = 62台
2^6 = 64 - 2 = 62台;

3.端口号:为了区分一台主机接收到的数据包应该转交给哪个进程来进行处理,使用端口号来区别  0~65535(2000以内系统注册,5000以内已经使用,一般使用8888等5000以上的端口)

4.OSI 7层模型

OSI模型是最理想的模型
物理层:传输的是bit流,物理信号,没有格式
链路层:格式变为帧
网络层:路由器中是有算法的,ip,(主机到主机)
传输层:端口号,数据传输到具体那个进程程序 (端到端)
会话层:通信管理,负责建立或者断开通信连接
表示层:确保一个系统应用层发送的消息可以被另一个系统的应用层读取,编码转换,数据解析,管理数据加密,解密;
应用层:指定特定应用的协议,文件传输,文件管理,电子邮件等。

5.TCP/IP协议族(数据由用户发出后,在每一层经过该层协议进行封包后传入下一层,接受顺序相反,依次拆包)
应用层                              TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet
传输层                               TCP,UDP
网络层                               IP,ICMP,RIP,OSPF,BGP,IGMP
网络接口与物理层             SLIP,CSLIP,PPP,ARP,RARP,MTU ISO2110,IEEE802.1,EEE802.2

6.UDP 和 TCP协议区分

相同点:都存在于传输层

TCP(即传输控制协议):
是一种面向连接的传输层协议,它能提供高可靠性通信(即数据无误、数据无丢失、
数据无失序、数据无重复到达的通信)

适用情况:
适合于对传输质量要求较高,以及传输大量数据的通信。
在需要可靠数据传输的场合,通常使用TCP协议
MSN/QQ等即时通讯软件的用户登录账户管理相关的功能通常采用TCP协议

UDP(User Datagram Protocol)用户数据报协议,是不可靠的无连接的协议。在数据发送前,
因为不需要进行连接,所以可以进行高效率的数据传输。

适用情况:
发送小尺寸数据(如对DNS服务器进行IP地址查询时)
在接收到数据,给出应答较困难的网络中使用UDP。(如:无线网络)
适合于广播/组播式通信中。
MSN/QQ/Skype等即时通讯软件的点对点文本通讯以及音视频通讯通常采用UDP协议
流媒体、VOD、VoIP、IPTV等网络多媒体服务中通常采用UDP方式进行实时数据传输

7.Socket为C语言中的编程接口,类似提供一个特殊文件描述符用于通信

8.网络通信中使用大端字节序传输,本地字节序需要经过函数接口转换后传入网络(检查主机字节序方法:定义整形,强转char型,输出,或者定义指针等方式)

转载于:https://www.cnblogs.com/huiji12321/p/11349161.html

step5 . day1 网络编程基础知识相关推荐

  1. 多实例多进程网络编程PHP,php socket网络编程基础知识(四):多进程

    标签:status   传递   windows   返回   修改   队列   _for   响应   关联 说明 php在web编程时是不需要考虑多进程的,但整个php流程是涉及到多进程的,只不 ...

  2. Linux网络编程基础知识

    Linux网络编程基础知识 1. 协议的概念 1.1 什么是协议 1.2 典型协议 2 网络应用程序设计模式 2.1 C/S模式 2.2 B/S模式 2.3 优缺点 3 分层模型 3.1 OSI七层模 ...

  3. Java 网络编程基础知识

    Java 网络编程基础知识 基础概念 计算机网络的基本概念 ​ 网络:多台计算机使用网络设备互联在一起,计算机之间可以进行通信,这样就组成了一个计算机网络. ​ 网络设备:集线器(HUB),路由器,交 ...

  4. python网络编程基础知识_python网络编程基础

    一.客户端/服务器架构 网络中到处都应有了C/S架构,我们学习socket就是为了完成C/S架构的开发. 二.scoket与网络协议 如果想要实现网络通信我们需要对tcpip,http等很多网络知识有 ...

  5. 网络编程基础知识概括帮助你了解架框组成客户端服务端架构

    阅读目录 1.楔子 2.客户端/服务端架构 3.网络基础 4.套接字(socket)初使用 写python代码 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分 ...

  6. 11.网络编程-基础知识 C++/Linux-2022-10-20

    linux网络编程 1.网络基础 网络应用程序设计模式 C/S - client/sercver 优点:1.协议选用灵活,2.可以缓存数据 缺点:用户安全,开发工作量大,调试困难 B/S - brow ...

  7. 网络编程基础知识(待更新补充)

    1.C/S架构(client/server) 即客户端(泛指客户端程序exe)与服务端架构 2.B/S架构(Browser/Server) 浏览器端与服务器端架构 3.广播 主机之间'一对所有'的通讯 ...

  8. 网络编程 -- 基础知识 流(输入流,输出流)

    1. 流 流是指通过一定的传播路径从源传递到目的地的字节序列.Java中的字节流分为输入流和输出流:输出流是指向目的地的写入的二进制序列,输入流是从数据源读取的二进制序列.网络编程的很大一部分工作都是 ...

  9. 网络编程基础知识详解

    什么是网络编程 网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机.数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外一个设备反馈的数据. ...

最新文章

  1. mono beta 3 released
  2. 1亿以内素数的个数_神奇的素数
  3. linux gcc 示例_最好的Linux示例
  4. Exchange Server 2016 独立部署/共存部署 (二)—— 先决条件
  5. 内容为王时代“内卷”急,安全风控一旦疏漏很要命!
  6. Bailian4030 统计单词数【文本处理】
  7. 网易编程题目——相反数:
  8. [C# 基础知识系列]专题十一:匿名方法解析
  9. 数据库事务 写偏斜write-skew
  10. 全国重点城市建筑物矢量数据合集一(Shp格式+带高度)
  11. 将中文转化为GB2312编码
  12. 万字详解加拿大央行CBDC分析报告
  13. outlook企业邮箱服务器要多少钱,怎么把企业邮箱配置到outlook中
  14. VR乒乓球项目Unity3D 开发经验整理,4简单而有效的AI
  15. [编程语言的对比式学习] C++ vs C#
  16. 简单学JAVA-学好Java能做啥
  17. 成立一年超100家客户,卫瓴科技如何用“客户成功”驱动SaaS企业内外增长? | CEO面对面
  18. poj3347——正方形覆盖(区间覆盖)
  19. 使用ROS和AprilTags进行相机定位(二维码定位全流程)
  20. Web 前端开发规范手册

热门文章

  1. .so是什么文件_安卓 so 文件解析详解
  2. java8 大到小排序,屌炸天,JDK8的排序大法!!
  3. pixhawk 整体架构的认识
  4. 计算机管理未指定错误,win10系统计算机管理打不开显示有“未指定的错误”的方案介绍222...
  5. php函数知识点,php入门学习知识点七 PHP函数的基本应用_php基础
  6. Pytorch 之 TSM(Time Shift Module)测试部分源码详解
  7. string中删除一个元素
  8. mysql正则表达式简单
  9. 递归与分治——斐波那契数列非递归,递归,与优化后的递归算法
  10. excel中$、、^、/、*等各种符号的使用